该怎么写,写不对,初学者

求从键盘输入一个三位数,判断这个三位数是否是正整数,如果是判断该数是否为素数,不是请重新输入一个三位数。

public class Test{
  public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int a;
      whlie(1)
      {
            System.out.print("请输入三位数正整数:");
             a = sc.nextInt();
             if(a<=0)
                  continue;
             for(int i=2;i<a;i++)
                 if(a%i==0)
                      break;
             if(i==a)
                 break;
      }

}


public static void main(String args[]) {
        
        System.out.print("请输入一个数字:");
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        try {
            int num = Integer.parseInt(str);
            if(num<0) {
                System.out.println("请输入正整数!");
            }else {
                int i;
                for (i = 2; i <= num-1 ; i++) {
                    if(num % i == 0){
                        System.out.println(num+"不是素数");
                        break;
                    }
                }
                if(i == num){
                    System.out.println(num+"是素数");
                }
            }
        } catch (NumberFormatException e) {
            System.out.println("请输整数!");
        }
        
    }