1、循环练习 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=
2、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")){
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年后,获得的本金是多少
4、使用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 m
5、ain(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循环实现) impor
6、t 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; } }
7、 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) { S
8、canner 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; } }
9、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("
10、"); } 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++
11、){ 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)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。在游戏过程中,记录你最终猜对时所需要的次数,游戏结束后公布结果。 积分对照表 次数 结
12、果 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;
13、 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+"次,就猜对了!");
14、 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; }
15、else{
if(i>number){
System.out.println("对不起,您猜大了!");
}
if(i 16、n(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 17、ngth;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();
Sy 18、stem.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(Strin 19、g[] 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.nextI 20、nt();
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_ 21、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 22、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;
}
}
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818