2015-02-07 21 views
0

所以我編寫了一個腳本,告訴腳本是否低於,高於或等於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"); 
    } } 
+0

需要注意的是,所使用的語言是丹麥語而不是英語:) – 2015-02-07 16:00:13

+0

除了最後一次打印之外,其他所有打印文檔中都使用'print'而不是'println'。或者在每行的末尾分別打印換行符。 – lurker 2015-02-07 16:04:22

回答

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方法使用,如果它之前或逗號之後存在要刪除空白。

+0

而不是在每個數字後按回車鍵,只需輸入「3 6 7 9」而不用逗號,然後按回車鍵,它們將全部相應地保存到變量中。 – Aradmey 2015-02-07 16:07:33

+0

如果我想在每個數字之後需要冒號,該怎麼辦? – 2015-02-07 16:08:35

+0

@JakobSchøler在這種情況下,您可以讀取整行並使用逗號作爲分隔符將其分割爲標記。查看更新後的答案。 – manouti 2015-02-07 16:12:02

0

Scanner Class有它自己的解析capablities,這樣你就可以在same line給輸入或different 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