java循环练习题

合集下载

Java基本语法_循环练习系列(一)——模拟双色球

Java基本语法_循环练习系列(一)——模拟双色球

Java基本语法_循环练习系列(⼀)——模拟双⾊球⽬前正在⾃学java中,学完循环这⼀块,简单写⼏个例⼦,使之更加熟练掌握循环语句和条件语句。

简述⼀下要这段代码要完成的任务:/*有33个红⾊球,16个蓝⾊球。

在33个⾥选6个 ,16个⾥选1个。

加起来是7个号码。

⼀等奖:7个号码相符(6个红⾊球号码和1个蓝⾊球号码)(红⾊球号码顺序不限,下同)奖⾦为当期⾼等奖奖⾦的70%加上奖⾦池⾥的。

⼆等奖:6个红⾊球号码相符;奖⾦为当期⾼等奖奖⾦的30%三等奖:5个红⾊球号码和1个蓝⾊球号码相符;固定3000元。

四等奖:5个红⾊球号码或4个红⾊球号码和1个蓝⾊球号码相符;固定200元五等奖:4个红⾊球号码或3个红⾊球号码和1个蓝⾊球号码相符;固定10元六等奖:1个蓝⾊球号码相符(有⽆红⾊球号码相符均可)。

固定5元 */1import java.util.Arrays;2import java.util.Random;3import java.util.Scanner;45public class Practice12 {67/**8 * @param args9*/10public static void main(String[] args) {11// TODO Auto-generated method stub12 System.out.println("------双⾊球游戏开始------");13int[] sysRedBall=new int[6];14int sysBlueBall;15int[] userRedBall=new int[6];16int userBlueBall;17int j=0;18int redCount=0;19int blueCount=0;20int[] redBall={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};21 Random r=new Random();22 Scanner input=new Scanner(System.in);23//系统开始随机产⽣24//随机产⽣⼀个篮球25 sysBlueBall=r.nextInt(16)+1;2627//随机产⽣6个红球28for(int i=0;i<sysRedBall.length;i++){29//while循环使⽤了⼀种算法,避免随机产⽣相同的数字,随机到的数字取值后就让它赋值为-1(重点,注意看)30while(true){31 j=r.nextInt(33);32if(redBall[j]!=-1){33 sysRedBall[i]=redBall[j];34 redBall[j]=-1;35break;36 }37 }38 }394041//⽤户输⼊42 System.out.println("下⾯请您输⼊你猜的中奖号码:");43 System.out.print("请在数字(1~33)中选择6位数字:");44for(int i=0;i<userRedBall.length;i++){45 userRedBall[i]=input.nextInt();46 }47 System.out.print("请在数字(1~16)中选择1位数字:");48 userBlueBall=input.nextInt();4950//统计相同的数量51for(int u=0;u<userRedBall.length;u++){52for(int s=0;s<sysRedBall.length;s++){53if(userRedBall[u]==sysRedBall[s]){54 redCount++;55break;56 }57 }58 }59if(sysBlueBall==userBlueBall){60 blueCount=1;61 }62//判断得奖状况63if(redCount==6&&blueCount==1){64 System.out.println("⼀等奖,奖⾦为当期⾼等奖奖⾦的70%加上奖⾦池⾥的");65 }else if(redCount==6){66 System.out.println("⼆等奖,奖⾦为当期⾼等奖奖⾦的30% ");67 }else if(redCount==5&&blueCount==1){68 System.out.println("三等奖,奖⾦为3000元 ");69 }else if(redCount==5||(redCount==4&&blueCount==1)){70 System.out.println("四等奖,奖⾦为200元 ");71 }else if(redCount==4||(redCount==3&&blueCount==1)){72 System.out.println("五等奖,奖⾦为10元 ");73 }else if(blueCount==1){74 System.out.println("六等奖,奖⾦为5元 ");75 }else{76 System.out.println("很遗憾,继续努⼒! ");77 }78//输出本期中奖号码79//Arrays.sort(sysRedBall);//使⽤API中⾃带的Arrays类,sort()⽅法是进⾏升序排序80//下⾯for嵌套循环使⽤了冒泡排序法81for(int i=0;i<sysRedBall.length-1;i++){82for(int h=0;h<sysRedBall.length-1-i;h++){83if(sysRedBall[h]>sysRedBall[h+1]){84int temp=sysRedBall[h];85 sysRedBall[h]=sysRedBall[h+1];86 sysRedBall[h+1]=temp;87 }8889 }90 }91 System.out.print("本期红球号码为:");92for(int red=0;red<sysRedBall.length;red++){93 System.out.print(sysRedBall[red]+" ");94 }95 System.out.println();96 System.out.println("本期篮球号码为:"+sysBlueBall);97 }98 }望各位⼤神多多指教,给出意见,谢谢啦!。

java 关于循环和数组的选择题

java 关于循环和数组的选择题

一、关于循环的选择题1. 下面哪种循环不是Java语言中的循环结构?A. for循环B. if-else循环C. while循环D. do-while循环2. 在Java语言中,以下哪种循环可以在不知道具体循环次数的情况下使用?A. for循环B. if-else循环C. while循环D. do-while循环3. 在Java语言中,以下哪种循环至少会被执行一次?A. for循环B. if-else循环C. while循环D. do-while循环4. 下列哪个语句是正确的?A. for (int i=0; i<10; i++){}B. for (int i=0; i<10; i++){}C. for (i=0; i<10; i++){}D. for (int i=0; i<10, i++){}5. 在Java语言中,以下哪种循环会先执行循环体再判断条件?A. for循环B. if-else循环C. while循环D. do-while循环二、关于数组的选择题1. 在Java语言中,以下哪种声明是正确的数组声明方式?A. int arr[5];B. int[] arr = new int[5];C. arr[5] = new int[];D. int arr[];2. 如何获取数组arr的长度?A. arr.lenB. arr.sizeC. arr.lengthD. arr.count3. 在Java语言中,下列哪种方式是正确的数组初始化方式?A. arr = {1, 2, 3, 4, 5}B. arr = new int[5]{1, 2, 3, 4, 5}C. arr = (1, 2, 3, 4, 5)D. arr = new int[]{1, 2, 3, 4, 5}4. 在Java语言中,以下哪种方式能够遍历数组arr中的元素?A. for (int i=0; i<arr.length; i++){}B. for (int i=0; i<arr.size; i++){}C. for (int i=0; i<arr.count; i++){}D. for (int i=0; i<=arr.length; i++){}5. 在Java语言中,以下哪种操作可以将数组arr中的元素倒序排列?A. Arrays.sort(arr, Collections.reverseOrder());B. Arrays.sort(arr);C. Collections.reverse(Arrays.asList(arr));D. Collections.sort(arr, Collections.reverseOrder());以上就是关于Java语言中循环和数组的一些选择题,请读者认真思考后选择正确的答案。

Java循环结构习题

Java循环结构习题

A,求1到100以内的素数.要求每10个数换一行。

1.public class SuShu{2.public static void main(String[] args) { //求1到100的素数,实际就是求2到99的素数,要知道的知识点是除2以为,所有的偶数都是素数。

3.inti,y;//必须在for语句之前定义,可以不对变量赋值4.int t=0;5.for(i=2;i<=99;i++){6. for( y=2;y<=i;y++)7. { if(i%y==0)8. break;9. }10.if(y==i){11.System.out.print(" "+y);12.t++;13.}14. if(t%10==0){15.System.out.println();16. }17.18.19.}20.}21.}B,一个自然数是素数,且它的数字位置任意对换后形成的数仍未素数,这种数叫做绝对素数,例如13 和31。

编写一个程序,显示100以内的所有绝对素数。

分析,由题意可以知道必须是两位数字,而且只能有1、3、7、9组合,个位为5的能被5整数,不是素数。

publicclass Demo{publicstaticvoid main(String[] args) {for(int i=10;i<=100;i++){if(isSushu(i)&&isSushu(conveter(i))){System.out.print(i+" ");}}}staticboolean isSushu(int i)//i是否为素数{int j=2; //用2到i-1之间的任一整数去整除for(;j<i;j++){if(i%j==0)returnfalse;}returntrue;}static int conveter(int i)//个位和十位数转换{int ge=i%10; //个位int shi=i/10;//十位return ge*10+shi;}}分析代码如下,程序写了三个方法,而且这三个方法都是静态方法,无需对象就可以调用,第一个方法是判断循环遍历的数是否是素数isSushu(int i),第二个方法是用来进行数字位置任意对换的方法第三个方法是主方法,也就是程序运行的入门main开始,通过for循环遍历我们需要的数字,关键是if里面的条件要明白第一个条件isSushu(i)是判断循环遍历的数是素数吗?挑选时是素数的数第二个条件是一个复合条件,isSushu(conveter(i)),首先通过方法convertre()进行数字位置的对换,对换后,判断对换后的数字是否是素数,如果是,则输出,如果不是,重新判断。

javawhile循环题目

javawhile循环题目

javawhile循环题目一、概述Java while循环是一种常用的控制结构,用于在满足特定条件的情况下重复执行一段代码。

在本篇文章中,我们将通过一些Java while循环的题目来加深对这种控制结构的理解。

二、题目及解答1. 打印三角形要求使用while循环打印一个三角形,每行的星号数量由用户输入。

解答:```javaimport java.util.Scanner;public class PrintTriangle {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入每行星号数量:");int num = input.nextInt();int i = 1;while (i <= num) {int j = 1;while (j <= num - i) {System.out.print(" ");j++;}System.out.print("*");i++;j = 1;while (j <= i) {System.out.print(" ");j++;}System.out.println();}}}```2. 打印斐波那契数列要求使用while循环打印斐波那契数列的前n个数(n由用户输入)。

解答:```javapublic class Fibonacci {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入要打印的斐波那契数列的个数:");int n = input.nextInt();int a = 0, b = 1;int result = 0;while (n > 0) {result += a; // 将前两个数的和加入结果中,并更新下一个数a为b,b为前两个数的和。

JAVA语言版条件判断和循环语句练习附答案

JAVA语言版条件判断和循环语句练习附答案
for(int j = 0;j < a.length;j++){ System.out.print(" " + a[j]);
} }
参考答案:
public int chart(){ int y=0; Scanner in = new Scanner(System.in); int x = in.nextInt(); if(x < 0){ y = -1; }else{ if(x == 0){ y = 0; }else{ y = 1; } } in.close(); return y;
}
public static void Fibonacci(){ int f1=1,f2=1,f3; System.out.print(f1 +" "+ f2); for(int i=1;i<18;i++){ f3 = f1+f2; System.out.print(" "+f3); f1 = f2; f2 = f3; }
条件判断和循环语句练习(总分 100 分,允许查阅 API 文档) 1、 (本小题 8 分)根据流程图写代码,分支左为是,分支右为否。(if-else)
2、 (本小题 10 分)写一程序,判断某年是否为闰年。(if-else) 3、 (本小题 10 分)输入等级,输出考试成绩,A 等是 85 分以上,B 等是 70—84,C 等是
60—69,D 等是 60 分以下(Switch) 4、 (本小题 15 分)输出以下 4*5 的矩阵(for)
12345 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5、 (本小题 15 分)输出一个 Fibonacci 数列的前 20 项。(for) 6、 (本小题 15 分)输入一个数 i,求 i!(阶乘)。(递归) 7、 (本小题 15 分)输入 10 个数,按从小到大的顺序输出。(用冒泡排序+数组) 8、 (本小题 12 分)变量或函数名命名合理,有注释,代码可读性强。

java中for循环选择题

java中for循环选择题

java中for循环选择题一、简答题1. Java中的for循环可以用于哪些场合?请举出至少三个例子。

答:Java中的for循环可以用于遍历数组、集合和列表等数据结构,以及用于控制循环计数器等场合。

例如,以下代码展示了如何使用for循环遍历一个整数数组:```javaint[] arr = {1, 2, 3, 4, 5};for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}```这段代码会依次输出数组中的每个元素。

2. for循环的基本语法是什么?它由哪三个部分组成?答:for循环的基本语法是:```javafor (初始化表达式; 循环条件; 更新表达式) {// 循环体语句}```其中,初始化表达式在循环开始前执行一次,通常用于初始化循环计数器等变量;循环条件是每次循环开始前执行的判断语句,用于控制循环的执行次数;更新表达式在每次循环结束后执行,通常用于更新循环计数器等变量的值。

二、选择题1. 下列哪个选项不是for循环的三个部分?A. 循环变量名B. 循环计数器初始值C. 循环计数器增量值D. 循环计数器变量类型正确答案:D. 循环计数器变量类型。

在for循环中,通常不需要指定循环计数器的变量类型。

2. 下列哪个选项的for循环语句是错误的?A. for(int i = 0; i < n; i++) { System.out.println(i); } //正确,用于输出0到n-1的整数序列B. for(char c : str) { System.out.println(c); } //正确,用于遍历字符串的每个字符C. for(double d : list) { System.out.println(d); } //错误,不能使用double类型作为for循环的迭代变量D. for(int i = 1; i <= n; k++) { System.out.println(i); } //正确,用于输出1到n-1的整数序列(每次循环计数器i增加k)正确答案:C. for(double d : list) { System.out.println(d); }。

JAVA循环语句练习(后面有答案及代码,请在自己答题后再查阅答案)

JAVA循环语句练习(后面有答案及代码,请在自己答题后再查阅答案)

一、选择题1.下列语句序列执行后,m的值是() int a=10,b=3,m=5;if(a==b) m+=a;else m=++a*m;A)15 B)50 C)55 D)52.下列语句序列执行后,k的值是() int i=4,j=5,k=9,m=5;if(i>j||m<k) k++;else k--;A)5 B)10 C)8 D)93.下列语句序列执行后,k的值是() int i=10,j=18,k=30;switch(j-i){case 8: k++;case 9: k+=2;case 10:k+=3;default:k/=j;}A)31 B)32 C)2 D)334.若a和b均是整型变量并已正确赋值,正确的switch语句是()A)switch(a+b);{......}B)switch(a+b*3.0){......}C)switch a{......}D)switch(a%b){......}5.下列语句序列执行后,r的值是()Char ch='8';int r=10;switch(ch+1){case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: r =r+8;}A)13 B)15 C)16 D)186.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是()A)switch(x+y){......}B)switch(ch+1){......}C)switch ch{......}D)switch(a+b);{......}7.下列语句序列执行后,k的值是() Int x=6,y=10,k=5;switch(x%y){case 0:k=x*y;case 6:k=x/y;case 12:k=x-y;default:k=x*y-x;}A)60 B)5 C)0 D)548.下列语句序列执行后,r的值是() Char ch='A';int r=6;switch(ch+5){case 'A':r=r+3;case 'B':r=r+5;case 'C':r-=6; break;default:r/=2;}A)11B)3 C)2 D)99.以下for循环的执行次数是()for(int x=0;(x==0)&(x>4);x++);A)无限次 B)一次也不执行 C)执行4次 D)执行3次10.下列语句序列执行后,j的值是()int j=1;for(int i=5;i>0;i-=2)j*=i;A)15 B)1 C)60 D)011.以下for循环的执行次数是()for(int x=0;(x==0)&(x<4);x++);A)无限次 B)一次 C)执行4次 D)执行3次12.下列语句序列执行后,j的值是()int j=2;for(int i=7;i>0;i-=2) j*=2;A)15 B)1 C)60 D)3213.以下由for语句构成的循环执行的次数是()for(int i=0;true;i++);A)有语法错,不能执行 B)无限次 C)执行1次 D)一次也不执行14.下列语句序列执行后,i的值是() int s=1,i=1;while(i<=4){s*=i;i++;}A)6 B)4 C)24 D)515.下列语句序列执行后,j的值是() int j=8,i=6;while(i>4)i-=2;--j;A)5 B)6 C)7 D)816.若有循环:int x=5,y=20;do{y-=x;x+=2;}while(x<y);则循环体将被执行()A)2次 B)1次 C)0次 D)3次17.以下由do-while语句构成的循环执行的次数是()int m=8;do{++m;}while(m<8);A)一次也不执行B)执行1次C)8次D)有语法错,不能执行18.下列语句序列执行后,i的值是()int i=10;do{i/=2;}while(i>1);A)1 B)5 C)2 D)019.下列语句序列执行后,i的值是()int i=10;do{i/=2;}while(i-->1);A)1 B)5 C)2 D)-1二、程序填空1、下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序填空。

java-循环结构的例题

java-循环结构的例题

java-循环结构的例题1.从键盘输⼊个数不确定的整数,并判断输⼊的正数和负数的个数,输⼊为0时结束程序。

提⽰:最简单“⽆限”循环格式:while(true),for(;;),⽆限循环存在的原因是因为并不知道要循环多少次,需要根据循环体内部的某些条件,来控制循环的结束。

代码实现:import java.util.Scanner;class ex{public static void main(String[] args){int count1=0;int count2=0;while(true){System.out.println("请输⼊⼀个整数:");Scanner scan=new Scanner(System.in);int n=scan.nextInt();if(n>0){count1++;}else if(n<0){count2++;}elsebreak;}System.out.println("正数的个数为"+count1);System.out.println("负数的个数为"+count2);}} 运⾏结果:2.打印九九乘法表代码实现:class ex{public static void main(String[] args){for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){System.out.print(i+"*"+j+"="+(i*j)+" ");}System.out.println();}}}运⾏结果:3.100000以内的所有质数的输出质数:素数,只能被1和它本⾝整除的⾃然数。

==> 从2开始到n-1结束,都不能被这个数整除。

最⼩的质数:2注意:(1既不是质数也不是合数)代码:实现⽅法⼀代码:(效率差)class ex{public static void main(String[] args){boolean isFlag=true;//定义⼀个标识//获取当前时间距离1970-01-01 00:00:00的毫秒数long start=System.currentTimeMillis();for(int i=2;i<=100000;i++){//遍历10000以内的⾃然数for(int j=2;j<i;j++){if(i%j==0){//能除尽——但这⾥不能⽤break,因为会退出当前循环isFlag=false;//标识设为false}}if(isFlag==true){//如果为true,说明都不能除尽System.out.println(i);}//重置isFlagisFlag=true;}long end=System.currentTimeMillis();System.out.println("所花费的时间为:"+(end-start)+"s");}}运⾏截图:算法优化⼀代码:class ex{public static void main(String[] args){boolean isFlag=true;//定义⼀个标识//获取当前时间距离1970-01-01 00:00:00的毫秒数long start=System.currentTimeMillis();for(int i=2;i<=100000;i++){//遍历100000以内的⾃然数for(int j=2;j<i;j++){//被i去除if(i%j==0){//能除尽——但这⾥不能⽤break,因为会退出当前循环isFlag=false;//标识设为falsebreak;//优化1 遇到了能除尽的,就退出⾥边的循环:只对本⾝⾮质数的⾃然数有效 }}if(isFlag==true){//如果为true,说明都不能除尽System.out.println(i);}//重置isFlagisFlag=true;}long end=System.currentTimeMillis();System.out.println("所花费的时间为:"+(end-start)+"s");}}运⾏截图:算法优化⼆代码:class ex{public static void main(String[] args){boolean isFlag=true;//定义⼀个标识//获取当前时间距离1970-01-01 00:00:00的毫秒数long start=System.currentTimeMillis();for(int i=2;i<=100000;i++){//遍历100000以内的⾃然数for(int j=2;j<=Math.sqrt(i);j++){if(i%j==0){//能除尽——但这⾥不能⽤break,因为会退出当前循环isFlag=false;//标识设为falsebreak;//优化1 遇到了能除尽的,就退出⾥边的循环:只对本⾝⾮质数的⾃然数有效 }}if(isFlag==true){//如果为true,说明都不能除尽System.out.println(i);}//重置isFlagisFlag=true;}long end=System.currentTimeMillis();System.out.println("所花费的时间为:"+(end-start)+"s");}}运⾏截图:算法优化三:代码:class ex{public static void main(String[] args){boolean isFlag=true;//定义⼀个标识//获取当前时间距离1970-01-01 00:00:00的毫秒数long start=System.currentTimeMillis();for(int i=2;i<=100000;i++){//遍历100000以内的⾃然数for(int j=2;j<=Math.sqrt(i);j++){if(i%j==0){//能除尽——但这⾥不能⽤break,因为会退出当前循环isFlag=false;//标识设为falsebreak;//优化1 遇到了能除尽的,就退出⾥边的循环:只对本⾝⾮质数的⾃然数有效}}if(isFlag==true){//如果为true,说明都不能除尽System.out.println(i);//如果不想显⽰,可以统计⼀下质数的个数,在这⾥count++(记得在开头要初始化为0) }//重置isFlagisFlag=true;}long end=System.currentTimeMillis();System.out.println("所花费的时间为:"+(end-start)+"s");}} 运⾏截图:优化⽅法四:(这个⽅法相⽐之前的只是输出的数据少了—注释了⼀条语句,添了⼀条语句,如果你把之前的三种优化⽅法都照着这种改⼀下,都会变快很多)代码:class ex{public static void main(String[] args){boolean isFlag=true;//定义⼀个标识int count=0;//获取当前时间距离1970-01-01 00:00:00的毫秒数long start=System.currentTimeMillis();for(int i=2;i<=100000;i++){//遍历10000以内的⾃然数for(int j=2;j<=Math.sqrt(i);j++){if(i%j==0){//能除尽——但这⾥不能⽤break,因为会退出当前循环isFlag=false;//标识设为falsebreak;//优化1 遇到了能除尽的,就退出⾥边的循环:只对本⾝⾮质数的⾃然数有效}}if(isFlag==true){//如果为true,说明都不能除尽//System.out.println(i);count++;}//重置isFlagisFlag=true;}long end=System.currentTimeMillis();System.out.println("所花费的时间为:"+(end-start)+"s");}}实现⽅式⼆:(运⽤到了continue关键字)class ex{public static void main(String[] args){boolean isFlag=true;//定义⼀个标识int count=0;//获取当前时间距离1970-01-01 00:00:00的毫秒数long start=System.currentTimeMillis();label:for(int i=2;i<=100000;i++){//遍历10000以内的⾃然数for(int j=2;j<=Math.sqrt(i);j++){if(i%j==0){//能除尽——但这⾥不能⽤break,因为会退出当前循环continue label;//优化2 遇到了能除尽的,就退出⾥边的循环:只对本⾝⾮质数的⾃然数有效}}count++;//能执⾏到此步骤的都是质数}long end=System.currentTimeMillis();System.out.println("质数的个数为:"+count);System.out.println("所花费的时间为:"+(end-start)+"s"); }} 运⾏截图:。

循环试题及答案

循环试题及答案

循环试题及答案一、选择题1. 循环结构在编程中的作用是什么?A. 执行单一操作B. 重复执行特定操作C. 随机执行操作D. 条件执行操作答案:B2. 下列哪个是循环结构的常见类型?A. If-elseB. For loopC. Switch-caseD. Try-catch答案:B3. 在循环中,用于控制循环次数的变量通常被称为什么?A. 计数器B. 索引C. 指针D. 引用答案:A二、填空题4. 在编程语言中,for循环的一般形式是:\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_。

答案:初始化表达式;条件表达式;迭代表达式5. 循环结构中的break语句用于\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_。

答案:立即退出循环三、判断题6. 循环结构可以嵌套使用,即在一个循环中包含另一个循环。

答案:正确7. continue语句的作用是结束当前循环,开始下一次循环。

答案:正确四、简答题8. 简述while循环和do-while循环的区别。

答案:while循环先判断条件再执行循环体,如果条件不满足则不执行循环体;do-while循环先执行一次循环体,然后判断条件,如果条件满足则继续循环。

五、编程题9. 编写一个程序,使用for循环打印从1到10的整数。

答案:略(此处应提供具体的编程语言代码)10. 编写一个程序,使用while循环计算1到100的整数和。

答案:略(此处应提供具体的编程语言代码)六、分析题11. 给定以下代码段,请分析其功能并指出可能存在的问题。

```cfor (int i = 0; i < 10; i++) {if (i % 2 == 0) {continue;}printf("%d ", i);}```答案:该代码段的功能是打印1到10之间的所有奇数。

存在的问题是,由于使用了continue语句,偶数将不会打印,但continue语句的使用是符合预期的,没有逻辑错误。

java循环结构题目

java循环结构题目

java循环结构题目Java循环结构题目循环结构是编程语言中的一种重要控制结构,它使得程序能够多次执行一段代码。

在Java程序设计中,循环结构主要有三种形式:for循环、while循环和do-while循环。

本文将介绍一些与Java循环结构相关的题目,帮助读者更好地理解和掌握循环结构的应用。

一、for循环题目1. 题目描述:使用for循环计算1到100之间所有偶数的和。

解题思路:使用for循环从1到100遍历每个数,判断是否为偶数,并累加求和。

参考代码:```java int sum = 0; for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { sum += i; } } System.out.println("1到100之间所有偶数的和为:" + sum); ```2. 题目描述:使用for循环输出九九乘法表。

解题思路:使用嵌套的for循环,外层循环控制行数,内层循环控制每行的列数。

参考代码:```java for (int i = 1; i <= 9;i++) { for (int j = 1; j <= i; j++){ System.out.print(j + "*" + i + "=" + i * j + ""); } System.out.println(); } ```二、while循环题目1. 题目描述:使用while循环计算1到100之间所有奇数的和。

解题思路:使用while循环从1到100遍历每个数,判断是否为奇数,并累加求和。

参考代码:```javaint sum = 0; int i = 1; while (i <= 100) { if (i % 2 != 0) { sum += i; } i++; }System.out.println("1到100之间所有奇数的和为:" + sum); ```2. 题目描述:使用while循环判断某个整数是否为质数。

java for循环练习题

java for循环练习题

java for循环练习题Java是一门广泛应用于软件开发的编程语言,而循环是Java中非常重要的一个概念。

通过循环,我们可以重复执行一段代码,从而实现一些复杂的逻辑和功能。

在这篇文章中,我将为大家分享一些有趣的Java循环练习题,帮助大家更好地理解和掌握循环的用法。

1. 打印九九乘法表九九乘法表是一个经典的练习题,通过循环嵌套可以很方便地实现。

我们可以使用两个嵌套的for循环,外层循环控制行数,内层循环控制列数。

具体代码如下:```javafor (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + " * " + i + " = " + (i * j) + "\t");}System.out.println();}```2. 计算阶乘阶乘是一个常见的数学问题,可以通过循环来计算。

我们可以使用一个for循环,从1开始依次乘以每个数字,最后得到结果。

具体代码如下:```javaint n = 5;int factorial = 1;for (int i = 1; i <= n; i++) {factorial *= i;}System.out.println(n + "的阶乘是:" + factorial);```3. 判断素数素数是只能被1和自身整除的数,判断一个数是否为素数也可以通过循环来实现。

我们可以使用一个for循环,从2开始依次判断是否能被该数整除。

具体代码如下:```javaint num = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数");} else {System.out.println(num + "不是素数");}```4. 打印菱形图案打印菱形图案是一个稍微复杂一些的练习题,可以通过循环嵌套和控制空格数量来实现。

循环能力测试题及答案

循环能力测试题及答案

循环能力测试题及答案
一、单项选择题
1. 在循环结构中,以下哪个选项是正确的?
A. for循环只能用于数组
B. while循环不能用于字符串
C. do-while循环至少执行一次
D. 以上都不对
答案:C
2. 以下哪个循环结构在执行过程中,条件判断失败时会直接退出循环?
A. for循环
B. while循环
C. do-while循环
D. 以上都是
答案:B
二、填空题
1. 在编程中,____循环结构允许在循环体执行完毕后再进行条件判断。

答案:do-while
2. 如果需要对一个数组中的每个元素进行操作,通常会使用____循环
结构。

答案:for
三、判断题
1. 循环结构中的break语句可以用来立即退出循环。

答案:正确
2. 在循环中,continue语句的作用是跳过当前循环的剩余部分,直接进入下一次循环判断。

答案:正确
四、简答题
1. 请简述循环结构中while和do-while的主要区别。

答案:while循环在每次迭代前都会检查条件是否满足,如果不满足则不执行循环体;而do-while循环至少执行一次循环体,然后在每次迭代后检查条件是否满足。

2. 描述for循环的基本结构。

答案:for循环的基本结构为for(初始化表达式;条件表达式;更新表达式){循环体},其中初始化表达式用于设置循环变量的初始值,条件表达式用于判断循环是否继续,更新表达式用于更新循环变量。

结束语:以上是循环能力测试题及答案,希望能够帮助大家更好地理解和掌握循环结构的相关知识。

关于javafor循环常见练习题

关于javafor循环常见练习题

关于javafor循环常见练习题使⽤for循环⽅式计算2+4+6+…+100的值1package day02;2/**3 * 使⽤for循环⽅式计算2+4+6+…+100的值4 * @author mu5 *6*/7public class Demo3 {89public static void main(String[] args) {10int sum=0;1112for(int i=2;i<=100;i=i+2){13 sum=sum+i;14 }15 System.out.println(sum);1617 }1819 }编写Java程序,在控制台上打印出九九乘法表(两种)package day02;/*** 编写Java程序,在控制台上打印出九九乘法表(两种)* @author ASUS**/public class Demo4 {public static void main(String[] args) {//第⼀种for(int m=1;m<=9;m++){for(int n=1;n<=9;n++){System.out.print(m+" "+"X"+" "+n+" "+"="+" "+m*n+" ");}System.out.print("\n");}//第⼆种System.out.println("--------------------------------------------------");for(int m1=1;m1<=9;m1++){for(int n1=1;n1<=m1;n1++){System.out.print(m1+" "+"X"+" "+n1+" "+"="+" "+m1*n1+" ");}System.out.print("\n");}}}所谓素数(⼜叫质数)是指只能被1和它本⾝整除的数字,1除外。

java条件分支和循环选择判断练习题附加答案解析

java条件分支和循环选择判断练习题附加答案解析

java条件分支和循环选择判断练习题附加答案解析1. 以下代码的输出是什么?int a = 5;if (a > 3) {System.out.println("a is greater than 3");}A. 无输出B. a is greater than 3C. a is 5D. 编译错误答案:B解析:因为‘a’ 的值是5,条件‘a > 3’ 成立,所以输出"a is greater than 3"。

2. 以下代码的输出是什么?int a = 10;if (a < 5) {System.out.println("a is less than 5");} else {System.out.println("a is not less than 5");}A. a is less than 5B. a is not less than 5C. 无输出D. 编译错误答案:B解析:因为‘a’ 的值是10,条件‘a < 5’ 不成立,所以执行‘else’ 语句块,输出"a is not less than 5"。

3. 以下代码的输出是什么?int a = 5;switch (a) {case 1:System.out.println("One");break;case 5:System.out.println("Five");break;default:System.out.println("Default");}A. OneB. FiveC. DefaultD. 无输出答案:B解析:因为‘a’ 的值是5,匹配‘case 5’,所以输出"Five"。

4. 以下代码的输出是什么?for (int i = 0; i < 3; i++) {System.out.println(i);}A. 0 1 2 3B. 0 1 2C. 1 2 3D. 0 1 2 3 4答案:B解析:循环从‘i = 0’ 开始,当‘i < 3’ 时循环继续,依次输出‘0 1 2’。

java循环测试题

java循环测试题

java循环测试题Java循环测试题选择题1.下面哪种循环结构可以用于不确定循环次数的情况?– A. for循环– B. while循环– C. do-while循环– D. switch循环2.在for循环中,以下哪个部分是可选的?– A. 初始化语句– B. 条件表达式– C. 循环体– D. 迭代语句3.下面哪个循环在条件判断之前执行至少一次循环体?– A. for循环– B. while循环– C. do-while循环– D. switch循环4.在for循环中,哪个部分用于控制循环变量的增减?– A. 初始化语句– B. 条件表达式– C. 循环体– D. 迭代语句填空题1.Java中,用于将控制流程转移到循环体的开头的关键字是break。

2.下面的代码会打印出什么结果?int i = 0;while (i < 5) {(i + " ");i++;}答案:0 1 2 3 4简答题1.请简要说明for循环的工作原理。

答:for循环由三个部分组成,分别是初始化语句、条件表达式和迭代语句。

初始化语句在循环开始前执行一次,用于初始化循环变量。

条件表达式在每次循环开始前进行判断,如果为true,则执行循环体;如果为false,则跳出循环。

循环体是需要重复执行的代码块。

迭代语句在每次循环结束后执行,用于控制循环变量的增减。

循环体执行完后,程序会跳到迭代语句,然后再次进行条件判断,直到条件表达式为false,退出循环。

2.请简要说明do-while循环和while循环的区别。

答:do-while循环和while循环的最大区别在于条件判断的位置。

do-while循环是先执行一次循环体,然后再进行条件判断;而while循环是先进行条件判断,再执行循环体。

这意味着,do-while循环至少会执行一次循环体,而while循环可能一次都不执行。

另外,do-while循环的条件判断在循环体的后面,因此循环体至少会执行一次,然后再根据条件判断是否继续执行循环。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

for循环练习题1、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,输出课程的名称。

用户可以循环进行输入,如果输入n就退出系统。

(使用do-while循环实现)import java.util.Scanner;public class ClassName {public static void main(String []args){Scanner input=new Scanner(System.in) ;String ke="";do{System.out.println("请输入课程代码:");ke =input.nextLine();if(ke.equals("1")){System.out.println("使用Java语言理解程序逻辑");}else if(ke.equals("2")){System.out.println("使用HTML语言开发商业站点");}else if(ke.equals("3")){System.out.println("使用SQL Server管理和查询数据");}else if (ke.equals("4")){System.out.println("使用C#开发数据库应用程序");}else if (ke.equals("n")){System.out.println("~~退出系统~~");break;}else {System.out.println("输入有误");}}while (true);}}2、本金10000元存入银行,年利率是千分之三。

每过1年,将本金和利息相加作为新的本金。

计算5年后,获得的本金是多少?(使用for循环实现)public class Deposit {public static void main(String[]args){double money=10000;System.out.println("您的存款是:"+ money);for(int i=1;i<=5;i++ ){money*=1+0.003;}System.out.println("5年后,您获得的本金是"+money+"元");}}3、求整数1~100的累加值,但要求跳过所有个位为3的数。

(使用for循环实现)public class Qiuhe {public static void main (String []args){int i=0,n=0;for (int a=0;a<10;a++){for(int b=0;b<9;b++){if (b!=3) {i=a*10+b;n+=i;}}}n+=100;System.out.println(n);}}4、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:************************public class Pyamid {public static void main(String []args){for(int i=1;i<5;i++){for (int n=1;n<=5-i;n++){System.out.print(" ");}for(int m=1;m<=2*i-1;m++){System.out.print("*");}System.out.println();}}}5、幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。

你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。

经过几次猜测与提示后,最终推出答案。

在游戏过程中,记录你最终猜对时所需要的次数,游戏结束后公布结果。

猜测次数最多20次。

提示:(1)产生0~99之间的随机数字:int number = (int)(Math.random()*100)(2)使用for循环结构,其中循环计数器counter同时也记录你猜测的次数(3)计算积分可以使用switch结构import java.util.*;public class Caicaikan {public static void main(String[] args) {int s=0;int number = (int)(Math.random()*100);Scanner scanner=new Scanner(System.in);System.out.println("请输入一个0~99(包括0和99)的数字:");do{int i=scanner.nextInt(); s++;if(i==number){if(s==1){System.out.println("您太有才了!");System.out.println("这次游戏,您共用了"+s+"次,就猜对了!");break;}if(s<=6&&s>=2){System.out.println("这么快就猜出来了,您真聪明!");System.out.println("这次游戏,您共用了"+s+"次,就猜对了!");break;}if(s>=7){System.out.println("恭喜您,猜对了!");System.out.println("这次游戏,您共用了"+s+"次,就猜对了!");break;}break;} else{if(i>number){System.out.println("对不起,您猜大了!"); }if(i<number){System.out.println("对不起,您猜小了!");}}}while(s<20);System.out.println("欢迎您下次再玩儿!");}}6、打印9*9乘法表方法一:public class Chengfabiao {public static void main(String []args){for(int i=1,j=1;i<=9;j++){System.out.print(j+"*"+i+"="+i*j+"\t");if (j==i){i++;j=0;System.out.println();}}方法二:for(int x=1;x<=9;x++){for(int y=1;y<=x;y++){System.out.print(y+"*"+x+"="+x*y+"\t");}System.out.println();}}}7、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

import java.util.Scanner;public class EncryptedDelivery {public int input1() {System.out.print("请输入一个四位数:");Scanner sc = new Scanner(System.in);int number = sc.nextInt();return number;}public void change(int number) {// 分解出位数int a, aa, aaa, aaaa;a = number % 10;aa = number / 10 % 10;aaa = number / 100 % 10;aaaa = number / 1000;// 代替数字a = (a + 5) % 10;aa = (aa + 5) % 10;aaa = (aaa + 5) % 10;aaaa = (aaaa + 5) % 10;// 第一位和第四位交换int temp;temp = a;a = aaaa;aaaa = temp;// 第二位和第三位交换temp = aa;aa = aaa;aaa = temp;System.out.println("交换后的数为" + aaaa + aaa + aa + a); }public static void main(String[] args) {EncryptedDelivery test = new EncryptedDelivery();int number = test.input1();test.change(number);}private int input() {// TODO Auto-generated method stubreturn 0;}}。

相关文档
最新文档