收藏 分销(赏)

java循环练习及答案.doc

上传人:仙人****88 文档编号:9454670 上传时间:2025-03-26 格式:DOC 页数:8 大小:63.04KB
下载 相关 举报
java循环练习及答案.doc_第1页
第1页 / 共8页
java循环练习及答案.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
循环练习 1、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,输出课程的名称。用户可以循环进行输入,如果输入n就退出系统。(使用do-while循环实现) 课程名称和课程代号对照表 课程名称 课程代码 使用Java语言理解程序逻辑 1 使用HTML语言开发商业站点 2 使用SQL Server管理和查询数据 3 使用C#开发数据库应用程序 4 import java.util.Scanner; public class A2 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String ke=""; do { System.out.println("请输入代码:"); ke=scanner.next(); if(ke.equals("1")){ System.out.println("使用Java语言理解程序逻辑"); } if(ke.equals("2")){ System.out.println("使用HTML语言开发商业站点"); } if(ke.equals("3")){ System.out.println("使用SQL Server管理和查询数据"); } if(ke.equals("4")){ System.out.println("使用C#开发数据库应用程序"); } if(ke.equals("n")){ System.out.println("出错!"); break; } } while (true); } } 2、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?(使用for循环实现) class A3 { public static void main(String[] args) { double mon = 10000; for( int i = 0; i < 5; i++){ mon *= 1+0.003; } System.out.println("5年后,获得的本金是"+mon+"元"); } } 3、求整数1~100的累加值,但要求跳过所有个位为3的数。(使用for循环实现) public class A4 { 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是一个质数”,否则输出“N不是质数”。提示:质数的含义:除了1和它本身不能被任何数整除。(使用for循环实现) import java.util.Scanner; public class A5 { public static void main(String[] args) { int n,m=0; Scanner N=new Scanner(System.in); System.out.println("请输入要判断的数字:"); do{ n=N.nextInt(); for (int i = 2; i < n; i++) { if (n%i==0) { m=1; } } if (m==1) { System.out.println("N不是质数"); } else { System.out.println("N是质数 "); } m=0; }while(true); } } 5、输入一个正整数,将该数的各位左右反转输出,即输入123,输出321。(使用while循环实现) import java.util.Scanner; public class A6 { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("请输入一个正整数:"); int num = input.nextInt(); if(num > 0){ System.out.println("反转前:" + num); System.out.print("反转后:"); while(num != 0){ int temp = num % 10; System.out.print(temp); num /= 10; } } else{ System.out.println("您输入的不是一个正整数!"); } } } 6、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:        *       ***      *****     ******    ********* public class A7 { public static void main(String[] args) { for(int i=1;i<=5;i++){ for(int j=1;j<=5-i;j++){ System.out.print(" "); } for(int k=1;k<=2*i-1;k++){ System.out.print("*"); } System.out.println(); } } } 7、打印出100~999之间的所有“水仙花数”。所谓“水仙花数”,是指一个3位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。 public class A8 { public static void main(String[] args) { int a,b,c; for(a=1;a<=9;a++){ for(b=0;b<=9;b++){ for(c=0;c<=9;c++){ if((a*a*a+b*b*b+c*c*c)==(100*a+10*b+c)){ System.out.println((100*a+10*b+c)); } } } } } } 8、幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。在游戏过程中,记录你最终猜对时所需要的次数,游戏结束后公布结果。 积分对照表 次数 结果 1 你太有才了! 2~6 这么快就猜出来了,很聪明么! 大于7 猜了半天才猜出来,小同志,尚需努力啊! 猜测次数最多20次。 提示: (1) 产生0~99之间的随机数字: int number = (int)(Math.random()*100) (2) 使用for循环结构,其中循环计数器counter同时也记录你猜测的次数 (3) 计算积分可以使用switch结构 import java.util.Scanner; public class A9 { 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("欢迎您下次再玩儿!"); } } 9、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改 public class BubbleSortDEmo { public static void main(String[] args) { int[] sum = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int temp; int len = sum.length; for (int i = 0; i < len / 2; i++) { temp = sum[i]; sum[i] = sum[sum.length - 1 - i]; sum[sum.length - 1 - i] = temp; } System.out.println("排序后:"); for(int i=0;i<sum.length;i++){ System.out.println(sum[i]); } } } 10、输入3个整数x,y,z 把三个数从小到大输出 import java.util.Scanner; public class NumSort { public static void main(String [] args){ int x,y,z; Scanner scanner=new Scanner(System.in); System.out.println("请输入x变量的值:"); x=scanner.nextInt(); System.out.println("请输入y变量的值:"); y=scanner.nextInt(); System.out.println("请输入z变量的值:"); z=scanner.nextInt(); int temp; if(x>y){ temp=x; x=y; y=temp; } } } 11、输入2组数据分别是年月日 求他们相差多少天? import java.util.Scanner; public class ClacYearDay { public static void main(String[] args){ int[] date_one=new int[3]; int[] date_two=new int[3]; Scanner scanner=new Scanner(System.in); System.out.println("请输入年:"); date_one[0]=scanner.nextInt(); System.out.println("请输入月:"); date_one[1]=scanner.nextInt(); System.out.println("请输入日:"); date_one[2]=scanner.nextInt(); System.out.println("请输入年:"); date_two[0]=scanner.nextInt(); System.out.println("请输入月:"); date_two[1]=scanner.nextInt(); System.out.println("请输入日:"); date_two[2]=scanner.nextInt(); int after=ClacDay(date_one[0], date_one[1], date_one[2]); int before=ClacDay(date_two[0], date_two[1], date_two[2]); if(after>before){ System.out.println("两个日期之间相差:"+(after-before)+"天"); } else { System.out.println("两个日期之间相差:"+(before-after)+"天"); } } /** * * @param year 年 * @param month 月 * @param day 日 * @return */ public static int ClacDay(int year, int month, int day) { int total = 0; int init; int[] monthday = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; for (init = 1; init < year; init++) { if (init % 4 == 0 && init % 100 != 0 || init % 400 == 0) { total += 366; } else { total += 365; } } if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { monthday[2] = 29; } for (int i =0; i < month; i++) { total += monthday[i]; } total += day; return total; } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服