-2

我最近了解了 Setter 和 Getter。我可以使用它们,但问题是我必须循环使用它们。下面提到了我正在使用的一些代码。

我在一个循环中输入学生信息,然后使用 Set Get 方法在另一个循环中对其进行编辑。我可以在没有循环的情况下使用 setter 和 getter 方法,但我不确定如何在循环中使用它们。所以请指导我在 stu 数组中添加学生。

    public static void   Addstudents()
    {   
      for(int i=0; i<stu.length; i++)
      {
        stu[i]=new Stuinfo();
        System.out.println("Enter name ");
        name= sc.next();
        System.out.println("Enter id  ");
        id= sc.next();
      }
    }

为了编辑数据,我想运行一个循环并使用 setter 方法来设置值。像这样的东西:

  public void Modify()
  { 
    String Cid; 
    System.out.println("You r modifying account");
    for (int i=0; i<stu.length;i++)
    { 
      stu[i].setId(id)...// dont know what to do in loop hree 
    }
  }
4

2 回答 2

3

问题不清楚,我认为要修改单个学生的特定帐户,您需要这样的东西:

   public void Modify() {   
    String Cid; 
    System.out.println("Enter your ID :");
    Scanner sc = new Scanner(System.in);
    int id = sc.nextInt();

    for (int i=0; i<stu.length;i++)
    {   
           if(id == stu[i].getId()) {
            //Change your account details
            System.out.println("Enter name ");
             name= sc.next();
             stu[i].setName(name);
            }

    }
     }

在上面的例子中,你得到一个 id 作为输入,然后你在数组中查找输入 id,如果你找到了,你就给了用户机会去改变那个特定用户的账户信息...

在第一个示例中,您必须使用 setters 设置学生实例属性:

 public static void   Addstudents()
     {

     for(int i=0; i<stu.length; i++)
    {
    stu[i]=new Stuinfo();
    System.out.println("Enter name ");
    stu[i].setName( sc.next() );
    System.out.println("Enter id  ");
    stu[i].setId( sc.next() ); 


    }

    }
于 2012-11-04T09:40:30.063 回答
0
public void Modify() {   
    System.out.println("You r  modifying account");
    Scanner sc = new Scanner(System.in);

    for (int i=0; i<stu.length;i++)
    {   
        System.out.println("Enter id");
        stu[i].setId(sc.nextInt());
        System.out.println("Enter name ");
        stu[i].setName(sc.nextLine());
    }
}
于 2012-11-04T09:36:44.493 回答