mme*_*hig 0 java loops if-statement exit
该程序允许用户输入一个数字并检查该数字是否为素数.但是,如果希望程序在用户输入"q"时退出.我尝试了几件事(do while,if)但是这些方法似乎都没有用.这是怎么造成的,我该如何解决?
以下是源代码:
// Test for primes 2
import java.io.*;
class FindPrime2 {
public static void main(String args[])
throws IOException {
// int num;
boolean isPrime;
String str;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("\nFINDING PRIME NUMBERS v0.1");
System.out.print("\nPlease enter a number: ");
str = br.readLine();
if(str == "q") System.exit(1);
int num = Integer.valueOf(str);
System.out.println("You have picked: " + num);
if(num < 2) isPrime = false;
else isPrime = true;
for(int i=2; i <= num/i; i++) {
if((num % i) == 0) {
isPrime = false;
break;
}
}
if(isPrime) System.out.println(num +" is Prime.");
else System.out.println(num + " is not Prime.");
}
Run Code Online (Sandbox Code Playgroud)
}
你不能==
在字符串上使用.你必须使用.equals()
; 如果你不关心区分大小写,你可以使用.equalsIgnoreCase ()
该==
运营商比较REFERENCES
,而.equals ()
比较的字符串CONTENTS
关于==
:
比较运算符==
不只适用于布尔值.会有什么期望:
int a = 5;
int b = 5;
//What will this display?
a == b ? System.out.print (” True”) : System.out.print (” false”);
Run Code Online (Sandbox Code Playgroud)
使用.equals()
时间:
*明确检查相等的值
*当你想要检查是否相等objects
; 但仅当该对象覆盖并定义.equals ()
方法时.
归档时间: |
|
查看次数: |
3209 次 |
最近记录: |