如何通过扫描仪从构造函数中的用户处获取多个输入?

时间:2019-07-01 15:10:47

标签: java constructor

我想用另一个类的main方法中的for循环接受多个输入来初始化另一个类中的构造函数。但输出仅来自一个输入。请解决我的问题。

s1.java

import java.util.*;
public class s1 {
    public static void main(String args[]) {
        String name="";int roll=0;
        Scanner sc=new Scanner(System.in);
        for(int i=0;i<2;i++) {
            name=sc.nextLine();
            roll=sc.nextInt();

            s2 sample=new s2(name,roll);

            sample.display();

        } 
    }
}

s2.java

public class s2 {
    String name="";int roll=0;
    s2(String name,int roll) {
        this.name=name;
        this.roll=roll;
    }
    void display() {
        System.out.println(name+" "+roll);
    }
}

1 个答案:

答案 0 :(得分:1)

如果要多于1次,请更改条件i<2,该条件将循环限制为一次迭代。

例如更改为i<10以获得9倍(10-1)输入/输出的uoto

添加条件

 if(sc.hasNextInt()) {
      roll=sc.nextInt();
      s2 sample=new s2(name,roll);
      sample.display();
  }