java编写输入一个正整数判断是否为质数。 大神帮我看看为啥else哪里报错了?

import java.util.Scanner;
public class Judge {
public static void main(String[] args){
int N;
Scanner t = new Scanner(System.in);
System.out.println("判断一个数是否为质数,请输入一个整数:");
N = t.nextInt();
for(int i=2;i<N;i++){
if(N%i==0)
if(N<0){
System.out.println("输入的数据不合法!");
}
System.out.println("这个数不是质数!");
break;
}
else {
if((N>=0&&N%N==0||N%1==0))
{
System.out.println("输入数字合法,这个数是质数!");
}
}
}
}
我把 else 换成 if 和 else if 都报错呢,但我觉得我写的对着啊,可能是我逻辑不清楚,希望大神帮我解析下,万分感谢!

已修改,复制粘贴即可。

import java.util.Scanner;

public class Judge
{
public static void main ( String[] args )
{
int N;
Scanner t = new Scanner (System.in);
System.out.println ("判断数否质数请输入整数:");
N = t.nextInt ();
t.close ();
for ( int i = 2; i < N; i++ )
{
if (N % i == 0)
{
if (N < 0)
{
System.out.println ("输入数据合");
}
System.out.println ("质数");
break;
}
else
{
if (( N >= 0 && N % N == 0 || N % 1 == 0 ))
{
System.out.println ("输入数字合数质数");
}
}
}
}
}

追问

额 ,看起来应该是每句if后面都要带括号的原因,是吧?

追答

应该是你if(N%i==0)后面少了个{

追问

还不对呀,编译后输入数据,判断有误,比如说输入1,系统根本不提示任何东西!
求大神帮忙修改。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜