Я пробовал читать из файла двойные значения и использовать с этой целью Scanner
.
Выдает InputMismatchException
:
"input.txt" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextDouble(Scanner.java:2456)
И я не могу понять, почему это происходит?
Код:
public class Largest
{
public static void main(String[] args)
throws FileNotFoundException
{
String filename = "input.txt";
Scanner in = new Scanner(filename);
double largest = in.nextDouble();
while (in.hasNextDouble())
{
double input = in.nextDouble();
if (input > largest)
{
largest = input;
}
}
in.close();
System.out.println("Largest value: " + largest);
}
}
ОБНОВЛЕНИЕ:
Я попытался изменить double largest = in.nextDouble();
на double largest = 0;
Но получил неверный ввод:
filename Actual Expected
-------------------------------------------------------------
"input.txt" Largest value: 0.0 Largest value: 1.343239923E9
"input2.txt" Largest value: 0.0 Largest value: 40.1
Содержимое файла выглядит следующим образом:
89343455
46746846
56.78
55486411
Как решить эту беду?
double largest = 0
. Исключение не возникает, но ввод неверный - наибольший = 0.0 - person catch23   schedule 01.07.2013