私は1から4の範囲をクリックすると、それぞれがクラスに導かれ、その機能を実行するようにスイッチを使用しようとしています。 "1"を選択すると、ユーザーはID、名前、他の名前とマークを入力し、その平均を計算する必要があります。 2番目のクラスは、すべての情報を表示する必要があり、私はそれを行う方法がわかりません。ここでjava複数のクラスに問題がある
は私のメインのコードです:ここでは
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 display {
public void method() {
int n;
Scanner sc = new Scanner(System.in);
System.out.println("Here is the student id: ");
}
}
あなたは私ができる見ることができるようにそれらをリンクしているようだ。
申し訳ありません私はクリックを意味しませんでした、私はタイプを意味しました。 –
申し訳ありませんが、恐ろしい恐ろしいコードです。私たちがあなたを助けるために時間を費やすことを望むので、ソースコードを人間が読めるように適切に書式設定/インデントするために5分を費やしてください。あなたがチェック例外をスローすることができるなら、** try ** catchだけを使用してください。あなたは盲目的にtry/catchを止めないでください。もっと重要なのは、あなたが**間違ったことを伝えているから**あなたが捕まえた例外を印刷することです**。ちょうどエラーをキャッチし、単に「何らかのエラー」を表示しても何の助けにもなりません! – GhostCat
@GhostCatコメントに追加するには、自分のやっていることを反映するようにメソッドに名前を付けます。あなたが良い名前を見つけることができない場合は、実際に何をすべきか再考する必要があります。 – Philippe