• ,

Не проходит тестирование

package com.javarush.test.level05.lesson12.bonus03;

import java.io.*;
import java.util.Scanner;

/* Задача по алгоритмам
Написать программу, которая:
1. вводит с консоли число N > 0
2. потом вводит N чисел с консоли
3. выводит на экран максимальное из введенных N чисел.
*/

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = 0;
Scanner scanner = new Scanner(System.in);

int n = scanner.nextInt();
if (n > 0)
{
int[] arr = new int[n];
for (int i = 0; i < n; i++)
{
arr[i] = scanner.nextInt();
maximum = arr[0];
if (maximum <= arr[i])
maximum = arr[i];
}//напишите тут ваш код
System.out.println(maximum);
}
}
}

8 комментариев

Core
  • Core
  • 0
  • Комментарий отредактирован 2016-09-22 23:26:19 пользователем Core
Непонятно, в чем суть проблемы: не принимает решение, которое вам кажется правильным или что? Чтоб код был более читаем, можно воспользоваться тэгом <>. Какой вывод у вашей программы? Ну и бегло прочитав, возник сразу вопрос, зачем вы создали BufferedReader reader
t952
  • t952
  • 0
Потому что у вас на каждой итерации в цикле максимальное значение сбрасывается:
maximum = arr[0];

Вынесите начальную инициализацию maximum перед циклом, а затем проходите цикл от i = 1 до i < n
Core
Дак уже вынесено))) Сразу за зачем-то созданным BufferedReader reader. Просто из цикла нужно убрать одну строчку и этого будет достаточно. Ну и ненужный ридер, раз уж один сканер используется
t952
Учитывая что N>0, можно инициализировать maximum следующим образом:
int maximum = scanner.nextInt();
t952
инициализация maximum = 0 не очень хороша, т.к. все введенные числа могут быть отрицательными
Core
  • Core
  • 0
  • Комментарий отредактирован 2016-09-23 00:13:37 пользователем Core
Да я тоже об этом подумал.
int maximum = Integer.MIN_VALUE;

и убрать одну лишнюю строку в цикле. И будет счастье.
t952
Можно и так )
vovaroma
Да с BufferedReader я погорячил.
Обнуление в цикле maximum = arr[0]; убрал.
Спасибо за помощь.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.