作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我让用户输入数据名字、姓氏和号码。问题是当我打印数组时,它只会打印最后输入的数据。
例如,如果用户输入:(F,V 12345) (L、K 2345) (红、绿 4555)//使用首字母缩写代替名字
程序将打印出:
R、G 4555红、绿 4555红、绿4555
Datab.java
public Datab()
{
first = null;
last = null;
cell = null;
}
public Datab(String f, String l, String c)
{
first=f;
last=l;
cell=c;
}
public static String getFirst(Datab friends)
{
Scanner kb = new Scanner(System.in);
System.out.println("Enter First name: ");
first = kb.next();
return first;
}
public static String getLast(Datab friends)
{
Scanner kb = new Scanner(System.in);
System.out.println("Enter Last name: ");
last = kb.next();
return last;
}
public static String getCell(Datab friends)
{
Scanner kb = new Scanner(System.in);
System.out.println("Enter Cell Number: ");
cell = kb.next();
return cell;
}
public String toString(){
return (first + " ,"+" "+ last + " "+ cell);
}
}
DBMS.java
Datab[] friends = new Datab[n];
for (int i = 0; i < friends.length; i++) {
friends[i] = new Datab();
System.out.println("\nFilling object #: " + (i + 1));
friends[i].getFirst(friends[i]);
friends[i].getLast(friends[i]);
friends[i].getCell(friends[i]);
}
for(int x=0; x<friends.length; x++){
System.out.println(friends[x]);
}
最佳答案
您将变量 first、last、cell
定义为静态的原因。
您应该删除静态并使其特定于实例。这同样适用于方法。
当你将一个变量设为静态时,你只有一个相同的实例,无论你最后分配的值是什么,都是你将看到的,因此无论你之前分配了什么,你都会看到相同的值被打印出来.
关于java - 数组一遍又一遍地打印出相同的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29362272/
我是一名优秀的程序员,十分优秀!