java - 我的对象数组只打印最后输入的值java
问题描述
嗨,我是 Java 编程新手。在这里,我试图用对象数组来实现代码。问题是每当我尝试打印时。它只打印最后输入的值 10 次。
import java.util.*;
class Tax{
int ssn,income;
void Tax(){}
void Tax(int s,int i){
this.ssn=s;this.income=i;
}
int getssn(){
return ssn;
}
int getincome(){
return income;
}
}
public class Usetaxpayer{
public static void main(String[] args){
Tax[] y=new Tax[10];
int i,inc,s=100;
Scanner in=new Scanner(System.in);Tax x=new Tax();
for(i=0;i<10;i++)
{
inc=in.nextInt();y[i]=x;
x.Tax(s,inc);
s++;
}
for(i=0;i<10;i++)
{
System.out.println("SSN"+y[i].getssn()
+"income"+y[i].getincome()+"\n");
}
}
}
请帮帮我`
解决方案
您错误地void
输入了构造函数。此外,您需要在循环内创建实例。
演示:
import java.util.Scanner;
class Tax {
int ssn, income;
Tax(int s, int i) {
this.ssn = s;
this.income = i;
}
int getssn() {
return ssn;
}
int getincome() {
return income;
}
}
public class Usetaxpayer {
public static void main(String[] args) {
final int SIZE = 2;
Tax[] y = new Tax[SIZE];
int i, inc = 0, s;
Scanner in = new Scanner(System.in);
for (i = 0; i < SIZE; i++) {
System.out.print("Enter SSN: ");
s = in.nextInt();
System.out.print("Enter income: ");
inc = in.nextInt();
y[i] = new Tax(s, inc);
}
for (i = 0; i < SIZE; i++) {
System.out.println("SSN: " + y[i].getssn() + ", income: " + y[i].getincome());
}
}
}
示例运行:
Enter SSN: 123
Enter income: 1000
Enter SSN: 234
Enter income: 2000
SSN: 123, income: 1000
SSN: 234, income: 2000
注意:我使用了一个大小为 2 的数组进行演示。SIZE
根据您的要求更改值。
推荐阅读
- c# - 无效的表达式术语 '.' 空条件,观察窗口和即时窗口不起作用
- amazon-web-services - aws cloudformation 中的 cfn-init 找不到元数据
- r - 使用 plotly 为两组绘制箱线图
- python - 如何将字符串转换为单个字符元组的列表?
- python - 抓取网站时动态 JS 生成代码
- python - 如何使用浮点捕获特定范围内的数字?
- django - 渲染时没有模型的Django表单没有出现在模板中
- excel - VBA:Oracle SQL 插入查询未插入数据
- scala - Akka testkit 期望以任意顺序发送两条消息
- servlets - org.apache.poi.POIXMLDocument 类在 4.0.1 版中去了哪里?