Написать java-программу, чтобы вычислить, сколько побед было у "Манчестер Юнайтед"?
Команда code ground - это закоренелый фанат "Манчестер Юнайтед" (#MANU), который хочет, чтобы вы создали Java-приложение для выполнения следующей задачи в английской Премьер-лиге.
Настройте строковую переменную для хранения следующих результатов
Результаты строк = "Манчестер Юнайтед 1 Челси 0, Арсенал 1 Манчестер Юнайтед 1, Манчестер Юнайтед 3 Фулхэм 1, Ливерпуль 1 Манчестер Юнайтед 1, Суонси 2 Манчестер Юнайтед 4";
Напишите программу, чтобы вычислить, сколько побед было у "Манчестер Юнайтед", сколько игр они сыграли вничью и сколько "Манчестер Юнайтед" проиграл.
Расширьте программу, чтобы выяснить, сколько голов забил "Манчестер Юнайтед" и сколько они пропустили.
Предположим, что выигрыш приносит вам 3 очка, ничья-1 очко, а проигрыш-ни одного очка. Пусть ваша программа определит, сколько очков в общей сумме набрал "Манчестер Юнайтед".
Выход для вышеперечисленного будет следующим
Победы 3
Розыгрыши 1
Поражения 1
Забитых Мячей 10
Пропущено Голов 6
Всего Баллов 10
Входной Сигнал Образца:
5
Манчестер Юнайтед 1 Челси 0
Арсенал 1 Манчестер Юнайтед 1
Манчестер Юнайтед 3 Фулхэм 1
Ливерпуль 2 Манчестер Юнайтед 1
Суонси 2 Манчестер Юнайтед 4
Пример Вывода:
Победы 3
Розыгрыши 1
Поражения 1
Забитых Мячей 10
Пропущено Голов 6
Всего Баллов 10
Подсказка: во входных данных одна из двух команд всегда будет "ManchesterUnited". В первой строке входных данных находится количество игр, далее следуют n строк в формате цель КОМАНДА1 команда2 цели. Название команды будет состоять из одного слова.
Что я уже пробовал:
import java.util.Scanner; public class BPL { public static void main(String args[]) { Scanner sc=new Scanner(System.in); String results="Manchester United 1 Chelsea 0, Arsenal 1 Manchester United 1,Manchester United 3 Fulham 1,Liverpool 1 Manchester United 1,Swansea 2 Manchester United 4"; String result_array[]=results.split(","); int number_of_wins=0; int number_of_draws=0; int number_of_defeats=0; int number_of_points=0; int goals_scored=0; int goals_conceded=0; for(int i=0;i<result_array.length;i++) { String the_result=getResults(result_array[i].trim()); String[] match_facts=the_result.split("-"); if(match_facts[0].equals("0")) { number_of_defeats++; } if(match_facts[0].equals("1")) { number_of_draws++; number_of_points=number_of_points + 1; } if(match_facts[0].equals("3")) { number_of_wins++; number_of_points=number_of_points + 3; } goals_scored=goals_scored+Integer.parseInt(match_facts[1]); goals_conceded=goals_conceded+Integer.parseInt(match_facts[2]); } System.out.println("Wins "+number_of_wins); System.out.println("Draws "+number_of_draws); System.out.println("Defeats "+number_of_defeats); System.out.println("Goal Scored "+goals_scored); System.out.println("Goals Conceded "+goals_conceded); System.out.println("Total Points "+number_of_points); } public static String getResults(String result) { String points_and_goals=""; String[] result_array=result.split(" "); int first_score=0; int second_score=0; int counter=0; for(int i=0;i<result_array.length;i++) { try { int outputValue=0; outputValue=Integer.parseInt(result_array[i]); if(counter==0) { first_score=outputValue; counter++; } else { second_score=outputValue; } } catch(NumberFormatException e){} } String HOME_WIN="3"; String AWAY_WIN="3"; String DRAW="1"; String LOSS="1"; int man_utd=result.indexOf("Manchester United"); if(man_utd==0) { if(first_score>second_score) { points_and_goals=HOME_WIN+"-"+first_score+"-"+second_score; } else if(second_score>first_score) { points_and_goals=LOSS+"-"+first_score+"-"+second_score; } else if(first_score==second_score) { points_and_goals=DRAW+"-"+first_score+"-"+second_score; } } else if(man_utd>0) { if(second_score>first_score) { points_and_goals=AWAY_WIN+"-"+second_score+"-"+first_score; } else if(first_score>second_score) { points_and_goals=LOSS+"-"+second_score+"-"+first_score; } else if(first_score==second_score) { points_and_goals=DRAW+"-"+second_score+"-"+first_score; } } return points_and_goals; } }
wseng
что не так с текущим выходом ?
dude_manni
Выход
Победы 3
Розыгрыши 2
Поражений 0
Гол, Забитый 10
Пропущено Голов 5
Всего Баллов 11
Нужен Выход
Победы 3
Розыгрыши 1
Поражения 1
Забитых Мячей 10
Пропущено Голов 6
Всего Баллов 10
Patrice T
показать входные данные.
dude_manni
Я не ввожу просто объявленный ввод в качестве переменной результата
Richard MacCutchan
Вы действительно проверяли баллы по вашей входной строке (Результаты строк = "Манчестер Юнайтед 1 Челси 0, Арсенал 1 Манчестер Юнайтед 1, Манчестер Юнайтед 3 Фулхэм 1, Ливерпуль 1 Манчестер Юнайтед 1, Суонси 2 Манчестер Юнайтед 4";? Он показывает 3 победы и 2 ничьи.
Kornfeld Eliyahu Peter
Манчестер Юнайтед 1 Челси 0 - победа
Арсенал 1 Манчестер Юнайтед 1 - ничья
Манчестер Юнайтед 3 Фулхэм 1 - победа
Ливерпуль 1 Манчестер Юнайтед 1 - ничья
Суонси 2 Манчестер Юнайтед 4 - победа
Так что ваш код дает правильный ответ! Где вы видите поражение?
Mohibur Rashid
Вы пробовали отладку?