否则没有

use*_*951 0 java syntax if-statement compiler-errors

我正在尝试为我的计算机编程类编写一个代码,用于周一的项目,我对Java很新,但我正在尝试编写一个程序,首先确定用户输入的数字是偶数还是奇数,然后确定数字是否为素数.我不确定我的算法是否正确,所以如果有人对我的算法或其他任何程序有任何更正,请说出来,但我真正的问题是该程序拒绝编译.每当我尝试时,它都表示如果出现问题,那就是没有其他问题.这是我的命令框的链接:

http://s1341.photobucket.com/user/Emi_Nightshade/media/Capture_zps45f9a2ea.png.html

在此输入图像描述 这是我的代码:

import java.io.*;
import java.util.*;

public class Lesson9p1_ThuotteEmily
{
    public static void main(String args[])
    {
        Scanner kbReader0=new Scanner(System.in);
        System.out.print("\n\nPlease enter an integer. An integer is whole number, and it can be either negative or positive. Please enter your number: ");
        long num=kbReader0.nextLong();

        if(num%2==0)                                     //if and else with braces
        {
           System.out.println("Your integer " + num + " is even.");
        }
        else
        {
            System.out.println("Your integer " + num + " is odd.");
        }

        Scanner kbReader1=new Scanner(System.in);
        System.out.print("\n\nWould you like to know if your number is prime? Please enter yes or no: ");
        String yn=kbReader1.nextLine();

        if(yn.equals.IgnoreCase("Yes"))
        {
            System.out.println("Okay. Give me a moment.");

            {
                if(num%2==0)
                {
                    System.out.println("Your number isn't prime.");
                }
                else if(num==2)
                {
                    System.out.println("Your number is 2, which is the only even prime number in existence. Cool, right?");
                }
                for(int i=3;i*i<=n;i+=2)
                {
                    if(n%1==0)
                    {
                        System.out.println("Your number isn't prime.");
                    }
                }
                else
                {
                    System.out.println("Your number is prime!");
                }
            }
        }
        if(yn.equals.IgnoreCase("No"))
        {
            System.out.println("Okay.");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我解决这个问题以及我可能在程序的其他地方遇到的任何问题,我将非常感激!谢谢.

Sam*_*ica 7

循环else后你有一个声明for

for(int i=3;i*i<=n;i+=2)
{
    if(n%1==0)
    {
        System.out.println("Your number isn't prime.");
    }
}
else
{
    System.out.println("Your number is prime!");
}
Run Code Online (Sandbox Code Playgroud)

你可能要做一个布尔变量来做这个.有各种方法可以做到这一点,但这是我可能会使用的方法

boolean isPrime = true;
for(int i=3;i*i<=n;i+=2)
{
    if(n%1==0)
    {
        isPrime = false;
    }
}
if(isPrime)
{
    System.out.println("Your number is prime!");
}
else
{
    System.out.println("Your number isn't prime.");
}
Run Code Online (Sandbox Code Playgroud)