如何使用try catch查看用户是否输入正确的内容?

时间:2018-03-27 21:07:45

标签: java try-catch

我已经编写了一部分代码,用户可以通过键盘向类输入一些信息。

    Students newStudent = new Students(System.in); 
    System.out.println("Enter username");
    String username=newStudent.toString();
    System.out.println("Enter name");
    String name=newStudent.toString();
    System.out.println("Enter surname");
    String surname=newStudent.toString();
    System.out.println("Enter department name");
    String department=newStudent.toString();
    System.out.println("Enter registration number");
    String registrationNumber=newStudent.toString();
    System.out.println("Your information is:"+username + name + surname + department + registrationNumber);
    newStudent.close();

现在我想使用try-catch检查用户名,名称,姓氏,dept名称是否为字符串,注册号是否为int但我似乎无法理解try catch的工作原理。我应该写什么?

1 个答案:

答案 0 :(得分:0)

首先你要阅读try-catch块以及它们是如何工作的,你可以在这里找到很多这方面的主题!

我知道您希望使用try-catch实现验证,因此您可以执行以下操作: -

 public static void getPlaceName(GoogleApiClient mGoogleApiClient, String placeId, @NonNull PlaceNameCallback callback) {
        Places.GeoDataApi.getPlaceById(mGoogleApiClient, placeId)
                .setResultCallback(places -> {
                    if (places.getStatus().isSuccess() && places.getCount() > 0) {
                        Place myPlace = places.get(0);
                        callback.onPlaceDetected(String.valueOf(myPlace.getName())); // set place name
                    }
                    places.release();
                });
    }

    public interface PlaceNameCallback {
        void onPlaceDetected(String name);
    }

在上面的示例中,如果用户输入了一个String,则会立即抛出异常,如果他正确输入数据类型(整数),代码将正常工作