首页 > 解决方案 > 如何在构造函数中通过扫描仪从用户那里获取多个输入?

问题描述

我想用另一个类的 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);
    }
}

标签: javaconstructor

解决方案


如果您想要超过 1 次更改i<2限制循环进行一次迭代的条件。

更改i<10为例如获取 uoto 9 次 (10-1) 输入/输出

添加条件

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

推荐阅读