在java中单行接受已知数量的整数

时间:2014-11-19 07:55:36

标签: java java.util.scanner

我知道有一个类似的问题,所以我要提前道歉。我是Java新手,在此之前,我唯一的编程经验是QBasic。

所以这就是我的困境:我需要接受2个整数值,我希望能够在同一行输入两个值,用空格分隔(IE:Enter" 45 60"和x = 45,y = 60)。

从我所看到的,人们建议阵列,但我还有几个星期的时间去学习那些......有更简单的方法吗?我们已经过了"," if / else"和"而#34;循环,如果这有帮助。我没有任何示例代码,因为我不知道从哪里开始。

我让程序使用2个单独的扫描程序调用...只是试图缩短/清理代码。任何想法??

谢谢!

//更新:

目前为止的样本。当我发布这篇文章时,我也在阅读扫描仪文档。 而且我不希望你们为我做功课。我永远不会那样学习。 最后的println用于检查值是否正确存储。

public static void homework(){
    Scanner hwScan = new Scanner(System.in);   
    System.out.println("Homework and Exam 1 weights? ");
    int hwWeight = hwScan.nextInt();
    int ex1Weight=hwScan.nextInt();
    System.out.println(hwWeight+"   "+ex1Weight); 
}

2 个答案:

答案 0 :(得分:0)

如果你只需要接受两个整数,就可以这样做:

String input = System.console().readLine(); //"10 20"
//String input = "10 20";
String[] intsAsString = input.split(" ");
int a = Integer.parseInt(intsAsString[0];
int b = Integer.parseInt(intsAsString[1]);

intsAsString是一个数组,简单来说,这意味着它将n字符串存储在一个变量中。 (这很简单,但是你以后会更仔细地观察阵列,你会看到我的意思)。

一定要大致理解每一行,不一定是线条的确切内容,而是概念上:从控制台读取数据,解析该行,这样就有两个表示两个整数的字符串,然后将每个字符串解析为一个整数。否则你将在以后遇到困难。

答案 1 :(得分:0)

即使简单的scanner.nextInt()也适合您,如下所示:

    Scanner scanner = new Scanner(System.in);
    int x = scanner.nextInt();
    int y = scanner.nextInt();
    System.out.println("x = " + x + " y = " + y);

输出:

1 2
x = 1 y = 2