如何在一行而不是四行单独的行上回答我的问题

时间:2015-02-07 15:59:02

标签: java

所以我制作了一个脚本,它告诉一条线是否低于,高于或等于y值。但是我希望能够将我的值放在一行上,这样就像3,6,7,9这样的东西。所以当你按下回车键时,它会给出答案。我的代码:

package computing.line.linetest;

/**  * Created by Jakob on 07-02-2015.  */ public class LineTest {
    public static void main (String[] arg) {
            java.util.Scanner tastatur = new java.util.Scanner(System.in);
        System.out.println("Indsæt a, x, b og y værdierne her og tryk retur");
        int a, x, b, y;
        a = tastatur.nextInt();
        x = tastatur.nextInt();
        b = tastatur.nextInt();
        y = tastatur.nextInt();
        System.out.println ("a er "+a+", x er "+x+", b er "+b+", y er "+y+"");
            if (a * x + b == y) System.out.println("Linje");
            else if (a * x + b > y) System.out.println("Under");
            else System.out.println("Over");
    } }

2 个答案:

答案 0 :(得分:0)

您的代码已经接受了一行中的数字。 Scanner.nextInt()不会扫描整行但只扫描下一个整数令牌,因此您不需要在每个数字后按Enter键。

如果需要逗号,则一种方法是读取该行并将其拆分为逗号分隔符以获取一个标记数组。然后,您将每个标记分配为四个变量中的每一个的整数:

String input = scanner.nextLine();
String[] numbers = input.split(",");
int a, x, b, y;
a = Integer.parseInt(numbers[0].trim());
x = Integer.parseInt(numbers[1].trim());
b = Integer.parseInt(numbers[2].trim());
y = Integer.parseInt(numbers[3].trim());

如果空格在逗号之前或之后存在,则trim方法用于删除空格。

答案 1 :(得分:0)

Scanner Class拥有自己的解析功能,因此您可以在same linedifferent line中提供输入,它会自动解析

   int a, x, b, y;
    a = tastatur.nextInt();
    x = tastatur.nextInt();
    b = tastatur.nextInt();
    y = tastatur.nextInt();

这适用于两个输入

1 2 3 4 

以及

1
2
3
4