问题描述
- 一个java写的程序,求详细每一行的解释
-
import java.util.Scanner;
public class Test{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
final int a =50;
final int b =10;
int c = 0;
int d = 2;
while(c<a){
boolean e =true ;
for(int divisor =2;divisor<=d/2;divisor++){
if(d%divisor==0){
e = false;
break;}
}
if (e){
c++;
if(c%b==0)
System.out.println(d);
else
System.out.print(d+" ");
}
d++;
}
}
}
解决方案
求素数,不过程序写的很乱input没用到。不理解为什么这么写。
解决方案二:
每一行?这个不太可能。每一行其实有简单,搞清楚代码有什么功能就行。
解决方案三:
自己单步调试,对着理解哦。
解决方案四:
程序得按块儿读
解决方案五:
很简单,这段代码是打印前50个素数,并且每行输出10个素数,超过10个就换行。
添加注释如下:
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
//素数总数
final int a = 50;
//每行打印个数
final int b = 10;
//素数个数统计变量
int c = 0;
int d = 2;
//当前素数总数小于50就继续求下一个素数
while (c < a) {
boolean e = true;
for (int divisor = 2; divisor <= d / 2; divisor++) {
if (d % divisor == 0) {
e = false;
break;
}
}
if (e) {
c++;
//如果当前素数总数是10的倍数就换行
if (c % b == 0)
System.out.println(d);
else
System.out.print(d + " ");
}
d++;
}
}
运行结果,打印5行共50个素数。
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173
179 181 191 193 197 199 211 223 227 229
解决方案六:
import java.util.Scanner; //导入需要的输入包
public class Test{ //声明测试类
public static void main(String args[]){ //声明main方法
Scanner input = new Scanner(System.in); //调用输入方法,这里没有使用到
final int a =50; //声明常量a
final int b =10; ////声明常量b
int c = 0; //声明变量c
int d = 2; //声明变量d
while(c<a){ //以下是判断素数的函数
boolean e =true ; //原理就是找到除了自身和一以外不能被其他数整除的,就是素数,并且输出,
for(int divisor =2;divisor<=d/2;divisor++){ //
if(d%divisor==0){
e = false;
break;}
}
if (e){
c++;
if(c%b==0)
System.out.println(d);
else
System.out.print(d+" ");
}
d++;
}
}
}
解决方案七:
我觉得还是先去看看基础在来搞吧,这些都需要没一行注释。。。。
解决方案八:
这个应该不需要一行行注释吧
解决方案九:
多学点慢慢就懂了,....................。。。。。。
解决方案十:
能写出这个代码,不可能不理解这么简单的java代码吧,要不然就是复制的,那就表示你对java代码一点都不懂,这样就应该先看看java基础视频,或看看基础方面的书,或是找个老师帮忙。