3つの変数を入力し、オブジェクトの作成に失敗した場合、エラーメッセージを表示させた後に、再度3つの変数の入力からやり直せるようなコードが書きたいです。
また、入力した3つの変数はコンストラクタを通して実行したいのですが、シンボルが見つかりませんと出てしまいました。
根本的な所が間違っているような気もするのですが、なかなか修正ができなかったので、質問させていただきました。
よろしくお願いいたします。
Java
1 2import java.util.Scanner; 3 4public class Test{ 5 public static void main(String[] args){ 6 7 double a,b,c; 8 Scanner scanner = new Scanner(System.in); 9 10 do{ 11 a=scanner.nextDouble(); 12 b=scanner.nextDouble(); 13 c=scanner.nextDouble(); 14 try{ 15 Triangle t = new Triangle(a,b,c); 16 }catch(TriangleException e){ 17 System.err.println(e); 18 } 19 }while(t==null); 20 21 System.out.println(t.area()); 22 } 23} 24
Java
1import java.awt.*; 2import javax.swing.*; 3 4 5 6public class Triangle{ 7 private double a; 8 private double b; 9 private double c; 10 11 public Triangle(double a, double b, double c) throws Exception{ 12 if(a>=b+c || b>=c+a || c>=b+a){ 13 throw new TriangleException("例外が発生しました"); 14 }else{ 15 this.a=a; 16 this.b=b; 17 this.c=c; 18 } 19 } 20 public double area(){ 21 double kai; 22 kai=(a+b+c)/2; 23 return kai; 24 } 25}
Java
1 2 3public class TriangleException extends Exception{ 4 private String mes; 5 public TriangleException(String mes){ 6 this.mes = mes; 7 } 8 public String toString(){ 9 return "例外処理: :"+mes; 10 } 11} 12
errorcode
1Test.java:21: エラー: シンボルを見つけられません 2 }while(t==null); 3 ^ 4 シンボル: 変数 t 5 場所: クラス Test 6Test.java:23: エラー: シンボルを見つけられません 7 System.out.println(t.area()); 8 ^ 9 シンボル: 変数 t 10 場所: クラス Test
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/14 18:36
2021/06/14 18:44
2021/06/14 18:54