java - 如何在构造函数中通过扫描仪从用户那里获取多个输入?
问题描述
我想用另一个类的 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 次更改i<2
限制循环进行一次迭代的条件。
更改i<10
为例如获取 uoto 9 次 (10-1) 输入/输出
添加条件
if(sc.hasNextInt()) {
roll=sc.nextInt();
s2 sample=new s2(name,roll);
sample.display();
}
推荐阅读
- r - 提取/访问嵌入在 PDF 中的 XML 文件
- python - 使用 AES-128 的图像加密
- java - 使用 txt 文件填充多列 ListView (Android)
- reactjs - 如何在测试中避免 react.createElement 错误
- php - 高级自定义字段重复器正在正确返回除图像之外的所有内容
- c# - Net Core 2.2 到 Net Core 3.1 迁移错误
- kiwi-tcms - 如何将套件添加到 kiwi-tcms
- qml - QML:初始化空列表
- opencv - 如何使用opencv将已知对象的图像与该对象的3D模型对齐?
- python - 在列表中找到最小值时出错