Преобразование строк в числа

230
07 марта 2017, 14:22

Почему метод Integer.parseInt(s) суммирует только первое число?( вместо всех вводимых чисел?)

Scanner in = new Scanner(System.in);
System.out.println("Введите число от 1 до 10");
int count = in .nextInt();
System.out.print("Введите" + " " + count + " " + "чисел, через пробел");
Scanner scan = new Scanner(System.in);
String str = scan.next();
String[] numbers = str.split(" ");
int res = 0;
for (int i = 0; i <= count - 1; i++) {
  for (String s: numbers) {
    res += Integer.parseInt(s);
  }
}
System.out.println("Сумма чисел= " + res);
Answer 1

Не очень понятно, зачем вам два цикла. Вместо next() используйте nextLine()

public static void main(String []args){
    Scanner in = new Scanner(System.in);
    System.out.println("Введите число от 1 до 10");
    int count=in.nextInt();
    System.out.print("Введите"+" "+count+" "+"чисел, через пробел");
    in.nextLine();
    String str = in.nextLine();
    String[] numbers = str.split(" ");
    int res = 0;
    for (String s : numbers) {
        res += Integer.parseInt(s);
    }
    System.out.println("Сумма чисел= " + res);
}

Вообще, это ведь не python, чтобы придумывать обходные пути для ввода чисел через пробел. Можно ввести числа через пробел и Scanner будет считывать их друг за другом в цикле.

public static void main(String []args){
    Scanner in = new Scanner(System.in);
    System.out.println("Введите число от 1 до 10");
    int count = in.nextInt();
    System.out.print("Введите"+" "+count+" "+"чисел, через пробел");
    int res = 0;
    for (int i = 0; i < count; i++) {
        res += in.nextInt();
    }
    System.out.println("Сумма чисел= " + res);
}
READ ALSO
Задержка KeyStroke эвента

Задержка KeyStroke эвента

Есть такой код:

234
Нужно сохранить число c TextField (JavaFX) в переменную (double)

Нужно сохранить число c TextField (JavaFX) в переменную (double)

Есть TextField и есть переменная, как счидать даные с TextField? Какой handler использовать или это делаться? Нигде не могу найти примерВ какую функию...

458
FileNotFoundException при открытии файла из assets

FileNotFoundException при открытии файла из assets

Почему появляется эта ошибка, если файл существует?

291