如何编写此代码? :Java中的运算符

时间:2015-09-18 06:30:23

标签: java if-statement

你能帮我理解运营商的条件吗

import java.util.Scanner;


public class PrimeNumber {
    boolean flag = true;
    public boolean findPrimeNumber(int num){
        for(int i = 2;i<num;++i){
            flag = (num%i==0)?(false):true;
            if(num%i==0){/* Here i want to ?: */
                flag = false;
                break;
            }else{
                flag = true;
            }
        }return flag;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter Number:");
        boolean flag =new PrimeNumber().findPrimeNumber(sc.nextInt());
        if(flag){
            System.out.println("Prime Number !!!");
        }else{
            System.out.println("Not a Prime !!!");
        }

    }
}

3 个答案:

答案 0 :(得分:1)

请参阅有关运营商的一些基本教程,请先查看Java Operators

Java Doc

  

运算符?:也称为三元运算符,因为它使用三个操作数。在以下示例中,此运算符应读作:&#34;如果someCondition为true,则将value1的值赋给result。否则,将value2的值赋给result。&#34;

以下程序ConditionalDemo2测试?:运算符:

class ConditionalDemo2 {

    public static void main(String[] args){
        int value1 = 1;
        int value2 = 2;
        int result;
        boolean someCondition = true;
        result = someCondition ? value1 : value2;

        System.out.println(result);
    }
}

答案 1 :(得分:0)

你走了;

public class PrimeNumber {
    boolean flag = true;
    public boolean findPrimeNumber(int num){
        for(int i = 2;i<num;++i){
            flag = (num%i==0) ?  false: true;
        }return flag;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter Number:");
        boolean flag =new PrimeNumber().findPrimeNumber(sc.nextInt());
        if(flag){
            System.out.println("Prime Number !!!");
        }else{
        System.out.println("Not a Prime !!!");
        }

    }
}

我想我可能会误解某些东西,如果有的话告诉我。

答案 2 :(得分:0)

根据您的代码,您的两行:

第1行:

flag = (num%i==0)?(false):true;//This one is almost equivalent to below

第2行:

if(num%i==0){/* Here i want to ?: */
    flag = false;
    break;
}else{
    flag = true;
}

但是,使用三元运算符时不能中断。,如果这是您想知道的。