在java中,是否可以在一行中获取多个输入??

在java中,是否可以在一行中获取多个输入??,java,Java,我试图在一行代码中获得多个输入。。 例如,在C++中,我们可以像-< /p> int a,b,c; cin>>a>>b>>c; 在java中也可以吗?您可以为此使用数组,例如: public static void main(String[] args) { int[] values = new int[3]; Scanner in = new Scanner(System.in); for(int i = 0

我试图在一行代码中获得多个输入。。 例如,在C++中,我们可以像-< /p>
int a,b,c;
cin>>a>>b>>c;

在java中也可以吗?

您可以为此使用数组,例如:

public static void main(String[] args) {
        int[] values = new int[3];
        Scanner in = new Scanner(System.in);
        for(int i = 0; i < values.length; i++) {
            values[i] = in.nextInt();
        }
        System.out.println(Arrays.toString(values));
    }
更新1

还有一种方法更接近于cin:

public class ChainScanner {
        private Scanner scanner;

        public ChainScanner(Scanner scanner) {
            this.scanner = scanner;
        }

        public ChainScanner readIntTo(Consumer<Integer> consumer) {
            consumer.accept(scanner.nextInt());
            return this;
        }

        public ChainScanner readStringTo(Consumer<String> consumer) {
            consumer.accept(scanner.next());
            return this;
        }
    }

    public class Wrapper {
        private int a;
        private int b;
        private String c;

        public void setA(int a) {
            this.a = a;
        } /* ... */
    }

    public static void main(String[] args) {
        ChainScanner cs = new ChainScanner(new Scanner(System.in));
        Wrapper wrapper = new Wrapper();

        cs.readIntTo(wrapper::setA).readIntTo(wrapper::setB).readStringTo(wrapper::setC);

        System.out.println(wrapper);
    }
公共类链扫描程序{
私人扫描仪;
公共链扫描仪(扫描仪){
this.scanner=扫描器;
}
公用链扫描仪readIntTo(消费者){
consumer.accept(scanner.nextInt());
归还这个;
}
公共链扫描程序readStringTo(消费者){
consumer.accept(scanner.next());
归还这个;
}
}
公共类包装器{
私人INTA;
私人INTB;
私有字符串c;
公共无效setA(INTA){
这个a=a;
} /* ... */
}
公共静态void main(字符串[]args){
ChainScanner cs=新的ChainScanner(新的扫描仪(System.in));
包装器=新包装器();
readIntTo(wrapper::setA).readIntTo(wrapper::setB).readStringTo(wrapper::setC);
System.out.println(包装器);
}

我不敢相信你没有在谷歌上搜索过“java同时分配多个变量”——前8个结果都是堆栈溢出可能的重复的可能的重复使用那些知道java,但不是C++,你可能想添加一个解释究竟是什么代码:它读取一个值,并分配给所有3个,或它读取三个值?但是如果想要字符之间的整数,C++中的例子-int m,n;字符c;cin>>m>>c>>n@hitain09解决方案是将
转换为
字符串[]
类型,使用.next()中的
读取输入,然后进行转换,例如,
整数.valueOf(值[1])
public class ChainScanner {
        private Scanner scanner;

        public ChainScanner(Scanner scanner) {
            this.scanner = scanner;
        }

        public ChainScanner readIntTo(Consumer<Integer> consumer) {
            consumer.accept(scanner.nextInt());
            return this;
        }

        public ChainScanner readStringTo(Consumer<String> consumer) {
            consumer.accept(scanner.next());
            return this;
        }
    }

    public class Wrapper {
        private int a;
        private int b;
        private String c;

        public void setA(int a) {
            this.a = a;
        } /* ... */
    }

    public static void main(String[] args) {
        ChainScanner cs = new ChainScanner(new Scanner(System.in));
        Wrapper wrapper = new Wrapper();

        cs.readIntTo(wrapper::setA).readIntTo(wrapper::setB).readStringTo(wrapper::setC);

        System.out.println(wrapper);
    }