import java.util.Scanner;
public class Question3 {
public static void main(String[] args) {
    String input;
    int i1,i2,i3;
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Input a 3 digit number ");
    input = keyboard.next();
    String[] numbers = input.split("\\s+");
    i1= Integer.parseInt(numbers[0]);
    i2= Integer.parseInt(numbers[1]);
    i3= Integer.parseInt(numbers[2]);
    System.out.println(i1);
    System.out.println(i2);
    System.out.println(i3);

    }
}


它应该做的是:有人输入
1 2 3
程序应该输出

1个

2

3
但是,它在行i2 = ...处引发arrayindexoutofbounds执行。

我需要他们成为INT,因为我之后需要与他们做事...我该如何解决? (我班的问题是...)


  编写一个程序,使用扫描仪读取三个整数(正数),以显示最多的三个整数。 (请在不使用运算符&&或||的情况下完成操作。这些运算符将很快在类中涉及。类似地,不需要循环。)
  
  一些示例运行:
  
  请输入3个整数:5 8 3
  
  最多三个:8

最佳答案

import java.util.Scanner;
public class Test {
public static void main(String[] args) {
    int i1,i2,i3;
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Input a 3 digit number ");

    i1= Integer.parseInt(keyboard.next());
    i2= Integer.parseInt(keyboard.next());
    i3= Integer.parseInt(keyboard.next());
    System.out.println(i1);
    System.out.println(i2);
    System.out.println(i3);

    }
}

关于java - 将字符串分成3部分并转换为int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12683725/

10-11 17:04