【发布时间】:2017-03-11 17:25:03
【问题描述】:
在这种情况下,我输入了一个名字。我想从主类中输入一个名称,然后将其传递给 newClass。当我再次尝试输入另一个名字时,我发现之前的名字被覆盖了。
public class JavaApplication107 {
public static void main(String[] args) {
byte number;
NewClass obj = new NewClass();
do{
System.out.println("MENU : ");
System.out.println("1. Show Data");
System.out.println("2. Input Data");
System.out.println("3. Exit");
Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
System.out.print("Input Number : ");
number = sc1.nextByte();
switch (number){
case 1:
obj.setShowBiodata();
break;
case 2:
System.out.print("Input your name : ");
String strTmp = sc2.nextLine();
obj.setName(strTmp);
break;
}
}while(number != 3);
}}
块引用
public class NewClass {
private String mName;
void setName(String name){
mName = name;
}
void setShowBiodata(){
System.out.println("Name : " + mName);
}}
所以我可以得到多个名字
【问题讨论】:
-
是吗?因为这就是
setName的作用?应该将新(或旧)名称存储在哪里 - 从您的描述中不清楚 -
那么,我怎样才能使方法不覆盖值?我应该使用数组还是其他?
-
你还没有解释应该发生什么。但听起来你想使用
ArrayList<String>(在这种情况下比简单数组更可取) -
您应该使用数组或列表。
-
您是否只想让程序打印出姓名列表?
标签: java class variables input methods