1、 /*判断分数的等级 90分以上者A级, 8089分者 B级,7079分者 C级, 6069者 D级,60分以下 E级 */ if (mark=90) this mark is grade A else if (mark=80) B=70) C=60) D else E3,编写程序求 1+3+5+7+99 的和值。class he int number = 1; /初始值1,以后再+2递增上去 int sum = 0; for ( ; number 100; number+=2 ) sum += number;1+3+5+7+99= +sum);4、利用for循环打印 9*9 表?1*1=11
2、*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81/循环嵌套,打印九九乘法表
3、public class NineNine public static void main(Stringargs) ; for (int j=1;j10;j+) for(int k=1;kk+) /老师的做法,判断语句里的 kj) break; /此处用 continue也可以,只是效率低一点+k+X+j+=+j*k);6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 class DafodilNumber以下是所有的水仙花数 int number = 100; / 由于水仙花数是三位数,故由1
4、00开始算起 int i, j, k; / i j k 分别为number 的百位、十位、个位 for (int sum; number1000; number+) i=number/100; j=(number-i*100)/10; k=number-i*100-j*10; sum=i*i*i+j*j*j+k*k*k; if (sum=number) is a dafodil number!7、求 a+aa+aaa+.+aaaaaaaaa=? 其中a为1至9之中的一个数,项数也要可以指定。class Multinomial int a; /定义输入的 a int howMany; /定义最后
5、的一项有多少个数字请输入一个 19 的 a 值 a = scanner.nextInt();请问要相加多少项? howMany = scanner.nextInt(); int sum=0; int a1=a; / 用来保存 a 的初始值 for (int i=1; i=howMany; i+) sum+= a; a = 10*a +a1; / 这表示a 的下一项 / 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意,这时的 a 已经变化了。sum=+sum);8、求 2/1+3/2+5/3+8/5+13/8.前20项之和?class Sum public static vo
6、id main(Sting args) double sum=0; double fenZi=2.0, fenMu=1.0; /初始的分子 (fenZi)2,分母(fenMu)1 for(int i=1;=20; sum += fenZi / fenMu ; fenMu = fenZi; /下一项的分母 上一项的分子 fenZi += fenMu; /下一项的分子 上一项的分子加分母sum= sum);9、利用程序输出如下图形: * * * * * * * * * * * * * * * *class Asterisk =13; i+=2) for(int j=1; j=i & i+j= 14
7、; j+)* / 换行11、计算圆周率 PI44/3+4/5-4/7. 打印出第一个大于 3.1415小于 3.1416的值class Pi double pi =0; /定义初始值 double fenZi = 4; /分子为4 double fenMu = 1; /第一个4,可看作分母为1 的分式,以后的分母每次递增2 for (int i = 0; i 00; i+) /运行老久,减少循环次数会快很多,只是精确度小些 pi += (fenZi/fenMu) ; fenZi *= -1.0; /每项分子的变化是+4,4,+4,4 . fenMu += 2.0; /分母的变化是1,3,5,7
8、, . 每项递加2输出结果为pi = 3.,应该不精确12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和/计算斐波那契数列(Fibonacci)的第n个值public class Fibonacci public static void main(String args) int n = Integer.parseInt(args0); int n1 = 1;/第一个数 int n2 = 1;/第二个数/和 if(n=0)参数错误! return;=2) sum = 1; else for(int i=
9、3;i=n;i+) sum = n1+n2; n1 = n2; n2 = sum;/并把整个数列打印出来public class FibonacciPrint FibonacciPrint t = new FibonacciPrint(); t.print(i); public void print(int n)13、求1-1/3+1/5-1/7+1/9.的值。 a,求出前50项和值。 b,求出最后一项绝对值小于1e-5的和值。15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下: * * * */打印金字塔图案public class PrintStar int col = Int
10、eger.parseInt(args0); 字符数组args的第一位转成 int类型给COL哦=col;i+)/i表示行数 /打印空格 for(int k=0;col-i;k+) /打印星星 for(int m=0;m2*i-1;m+)*16、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和 打印出所有的可能/任何一个大于六的偶数可以拆分成两个质数的和/打印出所有的可能public class Gedebahe int num = Integer.parseInt(args0); if(num=6) if(num%2! Gedebahe g = new Gedebahe(); /1不是
11、质数,2是偶数,因此从3开始循环=num/2; if(i%2=0)/如果为偶数,退出本次循环 continue; /当i与num-i都为质数时,满足条件,打印 if(g.isPrime(i) & g.isPrime(num-i) /*判断素数的方法*/如果i是素数 并且参数num-参数i也是素数的时候你的程序如此运行java xxx aa bbaa = args0 bb 就是args1这样Integer.parseInt就是把这args这个数据的第一个元素转换成为Integer类型。 + +(num-i)+ = +num); 第4章 数组1. 定义一个int型的一维数组,包含10个元素,分别赋
12、一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。class ArrayNumber int arrayNumber; arrayNumber = new int10;以下是随机的10个整数: / 填入随机的 10个整数 for (int i =0;arrayNumber.length; arrayNumberi = (int)(100*Math.random(); int max = arrayNumber0; int min = arrayNumber0; if(max min = arrayNumberi; /求最小值 sum += arrayNumberi;其中
13、 Max=+max+,Min=+min+,Sum=+sum+,Avg=+sum/10.0);2.定义一个int型的一维数组,包含10个元素,分别赋值为110, 然后将数组中的元素都向前移一个位置,即,a0=a1,a1=a2,最后一个元素的值是原来第一个元素的值,然后输出这个数组。3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0100之间的随机整数,将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来。4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3
14、,4,5;则倒排后数组中的值为5,4,3,2,1。6,要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个 int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存 到b0中;对10求余等于1的个数,保存到b1中,依此类推。class Remain public static void main( String args) int a = new int100; /保存100个随机4位数到 a 中 a.length; ai = (int) (1000*Math.random(); /统计 a 数组中的元素对 10 求余的各个的数目 int b
15、 = new int10; int k,sum; for (int j = 0; j b.length; j+) for (k=0,sum=0; k k+) if (ak%10)=j) sum+; bj = sum;b%d=%dn,j,bj); Scanner n = new Scanner(System.in) 7,定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课 按存储顺序依次为:core C+,coreJava,Servlet,JSP和EJB。 (1)循环给二维数组的每一个元素赋0100之间的随机整数。 (2)按照列表的方式输出这些学员的每门课程的成绩。 (3
16、)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。 (4)要求编写程序求所有学员的某门课程的平均分。public class C /* * param args */ public static void main(String args) / TODO Auto-generated method stub int i=new int20; int m=new int5; for(int j=0;i.length;j+) ij=j+1; for(int l=0;l1.0E-4|N%2=0|N0) 输入出错,格局只能是正奇数。请重新输入 else break; /老师的九宫格填写方法
17、 int result = new intNN; /定义保存九宫格的数组 int row = 0; /行 初始位置 int col = N/2; /列 初始位置,因为列由0开始,故N/2是中间位置=N*N; result rowcol = i; row-; col+; if (row=N)col-;row+=2; /行列都越界 else if (row=N)col = 0; /列越界 else if (resultrowcol != 0)col-; /有冲突 /打印出九宫格 for (int i=0;N; for(int j=0;t /我个人的填格方式 int result2 = new in
18、tNN; /为免冲突,重新 new 一个数组 result2N/2N/2 = (N*N+1)/2; /先把中间值赋予中间位置 row = 0; /定义行及列的初始赋值位置。之前赋值的for对两个值有影响,故需重新定位 col = N/2;=N*N/2; result2rowcol = i; /下面这句是把跟 i 对应的值放到格局对应的位置上 result2N-row-1N-col-1 = N*N+1-i; else if (result2rowcol ! /这方法不可能出现行列两边都越界的情况,详情需要数学论证 /再次打印出九宫格,以对比验证9,求一个3*3矩阵对角线元素之和 10,打印杨辉三角11. 约梭芬杀人法 把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。11_2、用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1