java在处理多个类时遇到问题

java在处理多个类时遇到问题,java,Java,所以我尝试使用一个开关,当我点击1到4的范围时,每个开关都指向一个类并执行它的功能。选择“1”应该要求用户输入id、名称、其他名称和标记,然后计算其平均值。第二个类应该显示所有的信息,我不知道怎么做 这是我的主要代码: public class lab3q1 { public static void main (String args[]){ Scanner sc = new Scanner(System.in); Entries entriesob

所以我尝试使用一个开关,当我点击1到4的范围时,每个开关都指向一个类并执行它的功能。选择“1”应该要求用户输入id、名称、其他名称和标记,然后计算其平均值。第二个类应该显示所有的信息,我不知道怎么做

这是我的主要代码:

public class lab3q1 {

    public static void main (String args[]){

        Scanner sc = new Scanner(System.in);

        Entries entriesobject = new Entries(); //object declaration
        display displayobject = new display(); //object declaration
        displayall displayallobject = new displayall(); //object declaration
        sortdata sortdataobject = new sortdata();

        System.out.println("1. Add new entries: ");
        System.out.println("2. Display an entry: ");
        System.out.println("3. Display all entries: ");
        System.out.println("4. Sort Data: ");
        System.out.println("5. Exit: ");
        int s = sc.nextInt();

        switch(s){

                case 1:{
                    if(s==1)
                    try{
                        entriesobject.method0();
                    }
                    catch(Exception e){
                        System.out.println("You can't do that");

                    }
                }
                case 2:{
                    if(s==2){
                        try{
                        displayobject.method();
                        }
                        catch(Exception e){
                            System.out.println("You can't do that");
                        }
                    }

                }

                case 3:{
                    if(s==3){
                        try{
                        displayallobject.method2();
                    }
                        catch(Exception e){
                            System.out.println("You can't do that");
                        }   
                    }
                }
                case 4:{
                    if(s==4){
                        try{
                            sortdataobject.method3();
                        }
                            catch(Exception e){
                                System.out.println("You can't do that");
                    }   
                    }
                }
                case 5:{
                    if(s==5){break;}
                }               
   }
  }
}
这是第一节课:

public class Entries {    
    public void method0(){          
        int total=0,total2;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the student id: ");
        int id = sc.nextInt();
        sc.nextLine();
        System.out.println("Enter the student name: ");
        String name = sc.nextLine();
        System.out.println("Enter the student other names: ");
        String othername = sc.nextLine();

        for(int i=1;i<=4;i++){

        System.out.println("Enter the student marks" +(i));
        int mark = sc.nextInt();
        total += mark;
        total2 =total/4;
        System.out.println("The average marks is: "+total2); 
        }           
    }       
}

正如您所见,我似乎无法将它们链接起来。

回答您的问题:当不同的类想要了解其他类(也称为其他对象的字段)中的数据时,您需要访问这些数据的方法,如:

public class Student {
  private int id;
  ... methods to put a value into id

  public int getId() { return id; }
然后另一个类,还有一个学生对象可以做

除此之外:你的“关注点分离”是错误的。您应该有一个类,该类使用扫描仪从用户“收集”数据。此类创建各种其他对象;并将来自用户的数据放入这些对象中

您所有的其他类都没有/需要扫描仪对象。它们获取其数据,例如作为构造函数的参数

System.out.println("The id is: " + someStudentObject.getId());

对不起,我不是指点击,我是指打字。对不起,伙计,糟糕的代码。您希望我们花时间来帮助您,因此请您花5分钟来正确格式化/缩进所有源代码,使其具有可读性。然后:只有当方法可以抛出已检查异常时,才使用try-catch。你不能盲目地放弃尝试/抓住;更重要的是:您打印捕获的异常,因为它告诉您出了什么问题。仅仅捕获一个错误,仅仅打印“一些错误”根本没有帮助!要添加到@GhostCat comment,请命名您的方法以反映它们正在做的事情。如果你找不到一个好名字,你将不得不重新思考它到底应该做什么。原谅我所有的错误,是的,我知道尝试和捕捉是无用的,但我只是看看它是如何工作的。我是个初学者,你的评论帮助很大;你想让我们帮你。在你的问题中有任何对你的问题不重要的代码。。。你让这更难。顺便说一句:你也让事情变得更难。代码中的每一行。。。这是有原因的。如果这个理由不再有效,那就扔掉那条线。马上。不要随身携带垃圾!我又做了一些更新。但这里真正的信息是:请先学习更多的教程/书籍。你的代码远没有做任何有用的事情。这不是一所编程学校,我们会牵着你的手,解决你代码中无数的小问题和大问题。我想当你在第一段写“类”时,你指的是“实例”…因为你指的是实例属性和方法。
System.out.println("The id is: " + someStudentObject.getId());