2 woe2010aa woe2010aa 于 2016.01.19 05:00 提问

一个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++;
}
}
}

11个回答

caozhy
caozhy   Ds   Rxr 2016.01.19 05:07
已采纳

求素数,不过程序写的很乱input没用到。不理解为什么这么写。

91program
91program   Ds   Rxr 2016.01.19 08:23

每一行?这个不太可能。每一行其实有简单,搞清楚代码有什么功能就行。

rui888
rui888   Ds   Rxr 2016.01.19 08:46

自己单步调试,对着理解哦。

enpterexpress
enpterexpress   2016.01.19 08:58

程序得按块儿读

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.19 09:07

很简单,这段代码是打印前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
u012965373
u012965373   2016.01.19 09:08

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++;
}
}
}

wuxinchao01
wuxinchao01   2016.01.19 09:17

我觉得还是先去看看基础在来搞吧,这些都需要没一行注释。。。。

Royal_lr
Royal_lr   Ds   Rxr 2016.01.19 09:27

这个应该不需要一行行注释吧

dcxy0
dcxy0   Ds   Rxr 2016.01.19 09:48

多学点慢慢就懂了,....................。。。。。。

xionglangs
xionglangs   Rxr 2016.01.19 10:36

能写出这个代码,不可能不理解这么简单的java代码吧,要不然就是复制的,那就表示你对java代码一点都不懂,这样就应该先看看java基础视频,或看看基础方面的书,或是找个老师帮忙。

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!