我正在编写一个程序,它接受一个整数作为输入,并输出一个消息,无论输入的整数是否为素数.我使用的算法如下... 要求: n> 0,要求: isPrime < - true,对于 i = 2到sqrt(n)do,如果 n%i = 0 则 isPrime < - false 结束if和end for Then打印数字是否为Prime.这是我的代码到目前为止,代码不起作用,我无法找到问题.
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n;
System.out.println("Input a positive integer");
n = kb.nextInt();
while (n>0){
boolean isPrime = true;
for (int i =2; i <= n/2;i++){
if(n % i == 0){
isPrime = false;
break;
}
}
if (isPrime = true){
System.out.println("The integer, " …Run Code Online (Sandbox Code Playgroud) 我完成了这个程序,出了点问题.我的意思是它不打印它需要的东西.它应该从人口普查中获取人口以及州名,并将其从最小状态分类到最大状态.当我运行该项目时,它打印出阿拉巴马州及其人口50次,而不是从最小到最大人口的所有州,我不确定该怎么做,我真的可以使用一些帮助,请.人口普查的一个例子如下......其中每一个都是分开的:
Alabama,4779736
Alaska,710231
Arizona,6392017
这是程序:
public static void main(String[] args) throws IOException {
File f = new File("census2010.txt");
if(!f.exists()) {
System.out.println( "f does not exist ");
}
Scanner infile = new Scanner(f);
infile.useDelimiter ("[\t|,|\n|\r]+");
final int MAX = 50;
int [] myarray = new int [MAX];
String[] statearray = new String[MAX];
int fillsize;
fillsize = fillarray (myarray, statearray, infile);
printarray (myarray, fillsize, prw);
sortarray(myarray, statearray, fillsize);
}
public static int fillarray (int[] num, String[] states, Scanner infile) throws FileNotFoundException{
int …Run Code Online (Sandbox Code Playgroud) 我正在编写一个代码,在一个名为primes.txt的文件中写入2到1000之间的所有素数.出于某种原因,我无法找出解决此问题的正确方法.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class Problem6 {
/**
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException {
PrintWriter prw = new PrintWriter("primes.txt");
for (int i = 2; i <= 1000; i++){
if (checkIfPrime(i) == true){
System.out.println(i);
prw.println(i);
}
}
}
public static boolean checkIfPrime (int num){
boolean isPrime = true;
for (int i = 2; i <= 1000; i++){
if ( num % i == 0 ){
isPrime = false; …Run Code Online (Sandbox Code Playgroud)