如何使用Java中没有空格的Scanner接受输入?

时间:2016-10-22 03:29:26

标签: java input int output space

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));

这是我的代码,如果输入包含两个匹配对(按某种顺序)和“不是两对”,则读取四个整数并打印“两对”。

当我使用扫描仪时,我希望输入接受:1221(没有空格)但如果我不自己放置空格,它就不会输出任何内容。我必须写它:1 2 2 1得到输出。是否让它接受没有空格的输入?

3 个答案:

答案 0 :(得分: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());

答案 1 :(得分: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]));

答案 2 :(得分: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
}