java程序基础知识问题
题目是:判断正整数是否为质数Fancl.java;importjava.util.ScannerpublicclassFancl{publicstaticvoidmain...
题目是:判断正整数是否为质数
Fancl.java;
import java.util.Scannerpublic class Fancl {
public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.println("请输入一个数:"); int a = input.nextInt(); boolean isF = true; for(int i=2;i<a;i++) { if(a%i==0){ isF = false; break; }else{ continue; } } if(isF){ System.out.print(a+"是质数"); }else{ System.out.print(a+"不是质数"); } }}
我想知道为什么定义完a为整数型后还突然来了这么一句:boolean isF = true;它标注是要假设a为质数。什么意思啊?F都没有定义,怎么突然就有了? 展开
Fancl.java;
import java.util.Scannerpublic class Fancl {
public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.println("请输入一个数:"); int a = input.nextInt(); boolean isF = true; for(int i=2;i<a;i++) { if(a%i==0){ isF = false; break; }else{ continue; } } if(isF){ System.out.print(a+"是质数"); }else{ System.out.print(a+"不是质数"); } }}
我想知道为什么定义完a为整数型后还突然来了这么一句:boolean isF = true;它标注是要假设a为质数。什么意思啊?F都没有定义,怎么突然就有了? 展开
5个回答
展开全部
boolean isF = true;这里定义一个布尔类型的isF,初始值是true(isF 为true的时候,啊是质数,所以你那里的注释会写,假设啊是质数)
if(a%i==0){ isF = false; break; }
这句话是
如果a%i==0,将 isF设置为false;
if(isF){ System.out.print(a+"是质数"); }else{ System.out.print(a+"不是质数"); } }
这句话是
如果isF是true,输出 System.out.print(a+"是质数");
否则 输出System.out.print(a+"不是质数");
if(a%i==0){ isF = false; break; }
这句话是
如果a%i==0,将 isF设置为false;
if(isF){ System.out.print(a+"是质数"); }else{ System.out.print(a+"不是质数"); } }
这句话是
如果isF是true,输出 System.out.print(a+"是质数");
否则 输出System.out.print(a+"不是质数");
展开全部
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数:");
int a = input.nextInt();
boolean isF = true;
for(int i=2;i<a;i++) { //循环假设a=5,进入if语句,5%2不等于0,走else,断开i=2的循环,当i=3的时候5%3不等于0,走else,断开i=3的循环,一直到i=4,5%4不等于0,走else,断开i=4的循环,此时因为不满足if(a%i==0)所以 isF=true,所以 if(isF)判断为true,所以a=5是质数。依此例推当a=4的时候循环到i=2时,4%2==0此时进入 isF = false; 然后break;因为isF已经是false,所以他不是质数。
if(a%i==0){
isF = false;
break; }
else{
continue;
}
}
if(isF){ //如果isF是true他会执行括号里的代码
System.out.print(a+"是质数");
}
else{
System.out.print(a+"不是质数"); } }}
判断是不是质数就是看能不能被本身以外的数除尽,比如当a=9的时候,for循环就得让9依次除于,2,3,4,5,6,7,8,若果其中能被整除,那就不是质数。
假设当a=11的时候,11依次除于,2,3,4,5,6,7,8,9,10,不能被除尽,所以是质数。
System.out.println("请输入一个数:");
int a = input.nextInt();
boolean isF = true;
for(int i=2;i<a;i++) { //循环假设a=5,进入if语句,5%2不等于0,走else,断开i=2的循环,当i=3的时候5%3不等于0,走else,断开i=3的循环,一直到i=4,5%4不等于0,走else,断开i=4的循环,此时因为不满足if(a%i==0)所以 isF=true,所以 if(isF)判断为true,所以a=5是质数。依此例推当a=4的时候循环到i=2时,4%2==0此时进入 isF = false; 然后break;因为isF已经是false,所以他不是质数。
if(a%i==0){
isF = false;
break; }
else{
continue;
}
}
if(isF){ //如果isF是true他会执行括号里的代码
System.out.print(a+"是质数");
}
else{
System.out.print(a+"不是质数"); } }}
判断是不是质数就是看能不能被本身以外的数除尽,比如当a=9的时候,for循环就得让9依次除于,2,3,4,5,6,7,8,若果其中能被整除,那就不是质数。
假设当a=11的时候,11依次除于,2,3,4,5,6,7,8,9,10,不能被除尽,所以是质数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
boolean isF = true是一个判断标识,当这个数是质数,则isF=false结束,不是则isF=true继续。至于F里面它和isF是一起的!!!!!!不是分开的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
isF 就是一个简单的记录值,通过for循环判断这个数是不是质数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
isF是一个整体 相当于一个变量 isF是boolean类型的 给它设置的初始化为true。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询