2016-10-22 43 views
0
public static String countPairs(int i1, int i2, int i3, int i4) { 
    String Pairs = ""; 

    if (i1 == i2 && i3 == i4) Pairs = ("two pairs"); 
    else if (i1 == i3 && i2 == i4) Pairs = ("two pairs"); 
    else if (i1 == i4 && i2 == i3) Pairs = ("two pairs"); 
    else Pairs = ("not two pairs"); 

    return Pairs; 
} 

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    System.out.print("Enter four numbers: "); 
    int int1 = in.nextInt(); 
    int int2 = in.nextInt(); 
    int int3 = in.nextInt(); 
    int int4 = in.nextInt(); 

    System.out.print(countPairs(int1, int2, int3, int4)); 

這裏是我的代碼,它讀取四個整數並且如果輸入由兩個匹配對(以某種順序)組成並且打印「兩對」,否則是「不是兩對」。如何使用掃描儀接受輸入而無Java中的空格?

當我使用掃描儀時,我希望輸入接受:1221(不含空格),但如果我自己不輸入空格,則不輸出任何內容。我必須這樣寫:1 2 2 1得到輸出。是否讓它接受沒有空格的輸入?

+0

採取輸入陣列中作爲字符串和分割在每個字符上,或使用模數來獲取每個數字,然後根據需要解析併發送到方法。 – Li357

回答

0

爲此使用Scanner.nextLine()。

int int1 = Integer.parseInt(in.nextLine()); 
int int2 = Integer.parseInt(in.nextLine()); 
int int3 = Integer.parseInt(in.nextLine()); 
int int4 = Integer.parseInt(in.nextLine()); 
0
String a = "1234"; 
int[] num = new int[a.length()]; 
for(int x = 0; x< a.length(); x++) num[x] = Character.getNumericValue(a.charAt(x)); 
System.out.println(countPairs(num[0], num[1], num[2], num[3])); 
0

這樣做:

String toParse = scan.nextLine(); // here you can pass 1234 

然後分裂變量 「toParse」,並把它轉換成字符串

String toParse = scan.nextLine(); 
String [] toParseArr = toParse.split(""); 
for(int i=0; i<toParseArr.length; ++i){ 
    //obtain values here and do something 
}