【问题标题】:How to not overwrite the value at the time of inputting values in a class?在类中输入值时如何不覆盖值?
【发布时间】: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


【解决方案1】:

试试这个代码,它应该打印出所有的名字

public class NewClass {
private String mName ="";
void setName(String name){
    mName = mName+"\n"+name;
}
void setShowBiodata(){
    System.out.println("Name : " + mName);
}}

这是一种使用数组的方法

public class NewClass {
private String[] names = new String[20];
private int number = 0;
void setName(String name){
    names[number]= name;
    number++:
}
void setShowBiodata(){
 for (int i =0; i<number; i++)
    {
     System.out.println(names[i]);
    }   
}}

【讨论】:

  • 谢谢兄弟。但是,如果有时我想使用数组,你能帮我吗?
  • 我想为索引命名
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多