如何在java中覆盖字符串的值?

如何在java中覆盖字符串的值?,java,string,console,Java,String,Console,我有一个字符串idnum。我使用下面的代码向该字符串添加一个值。函数show()在控制台中显示字符串的值。我希望有一个函数可以在控制台中编辑stringidnum的值,而不必退出控制台。我该怎么做?我正在考虑覆盖字符串的值。可能吗?如何在控制台中覆盖字符串的值 public void addstudent(){ student p = null; reader1 = new BufferedReader(new InputStreamReade

我有一个字符串idnum。我使用下面的代码向该字符串添加一个值。函数show()在控制台中显示字符串的值。我希望有一个函数可以在控制台中编辑stringidnum的值,而不必退出控制台。我该怎么做?我正在考虑覆盖字符串的值。可能吗?如何在控制台中覆盖字符串的值

    public void addstudent(){       
    student p = null;       
    reader1 = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("ID Number: ");
    String idnum = null;
    try {
        idnum = reader1.readLine();
        } 
    catch (IOException e){
                   e.printStackTrace();
                  } 
            p = new student(idnum);         
    studentList.add(p);  
    show();
}
我有搜索部分的代码

public void searchstudent(){
    System.out.print("search name : "); 
    try{ searchName = reader1.readLine();} catch (IOException e){e.printStackTrace();} 
    searchCount = 0;//for search     
    for(int i = 0; i<count; i++){
        if(studentList.get(i).getLName().toLowerCase().contains(searchName.toLowerCase(‌​))){
            searchCount = i;
            System.out.println(studentList.get(searchCount).getLName());
        }
    }
}
public void searchstudent(){
系统输出打印(“搜索名称:”);
请尝试{searchName=reader1.readLine();}catch(IOException e){e.printStackTrace();}
searchCount=0;//用于搜索

对于(int i=0;i您必须找到学生并按如下方式编辑:

student.setAddress("Sesame street, 1");
或者,如果您没有设置器:

student.address = "Sesame street, 1";

确保在你的类中有一个getter和setter方法。一旦你这样做了,你可以在你的学生类中调用set方法来更新这个值

public String getStudent() {
        return student;
    }


public void setStudent(String student) {
       this.student = student;
    }
你可以这样称呼它

student.setStudent("Mark Twain");

我不明白这个问题。从你的观点来看,编译器是什么?你能解释一下你需要什么而不需要“编译器”这个词吗?不是说它不那么令人困惑,但我仍然不明白你想要什么。请试着解释一下你想得到什么,而不是你的解决方案。@murrmurr-我们不明白你在说什么。说这四次都没有用。也许你需要找一个说你的语言的人来帮助你。@murrmurr你想得太多了。如果
address=“24 Sussex Drive”
,然后在程序中执行
address=“541 Acacia Avenue”
,旧值(Sussex Drive字符串),已消失。
地址
处的值不再指向该旧字符串;它现在指向acacia驱动器字符串。您无需担心“删除”值,只需重新分配它。或者,换言之,使用变量(本例中的地址)指向其他东西。迪亚兹和user270349也正是这么说的。@Teeg谢谢!谢谢!谢谢!我已经理解了。我在哪里做呢?我有搜索部分的代码public void searchstudent(){System.out.print(“搜索名:”;试试{searchName=reader1.readLine();}catch(IOE){e.printStackTrace();}searchCount=0;//要搜索(int i=0;i请添加代码(格式化)对于这个问题,很难在评论中读到。我该怎么做呢?对不起,我是stackoverflow的新手。我不知道这些东西是如何工作的。我不知道你是否可以编辑它或者你是否需要更多的声誉,我做到了。谢谢。我会先试着读一下getter和setter方法。然后我会尝试这样做。我们的老师给了我们这样一个答案即使没有教给我们诸如getter和setter之类的东西,我们也能保持活跃@@