как снова вызвать класс, если пользователь вводит неправильный ввод с клавиатуры

#java #input #exception-handling #output #core

#java #ввод #обработка исключений #вывод #Ядро

Вопрос:

 package simple;

import java.io.BufferedReader;    
import java.io.InputStreamReader;     
class AreaofCircle{    
    public static void main(String args[]){    
        float PI = 3.1416f;    
        int r=0;    
        String rad;     
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
        System.out.println("Radius?");   
        try{    
            rad = br.readLine(); 
            r = Integer.parseInt(rad); 
            System.out.println("Circle area is: "   PI*r*r   " Permieter: "  PI*2*r); 
        }
        catch(Exception e){
            System.out.println("Write an integer number"); 
            AreaofCircle a = new AreaofCircle(); 
        }
    }
}
 

Здесь, в этом коде, предположим, что пользователь вводит некоторую строку с помощью клавиатуры, в этот момент в блоке try отображается исключение, и оно переходит в блок catch,

И я хочу показать подробности ошибки и хочу снова вернуть пользователя к этому коду, как это возможно, пожалуйста, помогите мне в этом.

Комментарии:

1. Циклы ?………

Ответ №1:

 int allowedAttempts=0;
while(true) 
{
   try{    
       rad = br.readLine(); 
       r = Integer.parseInt(rad); 
       System.out.println("Circle area is: "   PI*r*r   " Permieter: "  PI*2*r); 
       break;
       }
       catch(Exception e){
            System.out.println("Write an integer number"); 
            allowedAttempts  ;
            if(allowedAttempts==3){
                    System.out.println("No More attempts allowed");break;
                }
        }
}
 

Вы можете использовать целочисленную переменную и запрашивать определенное количество попыток.