java基础-------循环语句

这篇博客详细介绍了如何使用Java的循环语句,包括do-while、for和while循环,来实现课程代号与名称转换、跳过个位为3的数累加、质数判断、数字反转、打印金字塔图案、寻找水仙花数、幸运猜数字游戏以及数组元素倒序排列等编程练习。通过这些实例,读者可以深入理解Java中循环语句的应用。

java基础-------循环语句
1 /*、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,
输出课程的名称。用户可以循环进行输入,如果输入n就退出系统。
(使用do-while循环实现)

使用Java语言理解程序逻辑1
使用HTML语言开发商业站点2
使用SQL Server管理和查询数据3
使用C#开发数据库应用程序4

1 /*、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,
输出课程的名称。用户可以循环进行输入,如果输入n就退出系统。
(使用do-while循环实现)

public class Test01 {

public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	
	String code = "";//声明一个code字符串变量
	do {
		System.out.print("请输入课程代码:");
		code = input.next();
		if(!(code.equals("n"))) {
			switch(code) {
				case "1":
					System.out.println("使用Java语言理解程序逻辑");
					break;
				case "2":
					System.out.println("使用HTML语言开发商业站点");
					break;
				case "3":
					System.out.println("使用SQL Server管理和查询数据");
					break;
				case "4":
					System.out.println("使用C#开发数据库应用程序");
					break;
				default:
					System.out.println("输入的课程代码有误");
					break;		
			}
		}

	}while(!(code.equals("n"))); //字符串判断是否相等使用equals
	
	}

}
2./*求整数1~100的累加值,但要求跳过所有个位为3的数。(使用for循环实现) */

public class Test02 {

public static void main(String[] args) {
	int sum = 0;
	for(int i=1;i<=100;i++) {	
		if(i%10!=3) {
			sum+=i;
		}
	}
	System.out.println(sum);
}

}

3 /*输入一个正整数N,判断该数是不是质数,如果是质数输出“N是一个质数”,

  • 否则输出“N不是质数”。提示:质数的含义:除了1和它本身不能被任何数整除。(使用for循环实现)
    */

public class Test03 {

	public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	System.out.print("请输入一个整数:");
	int num = input.nextInt();
	//临时变量,用于标识是否为质数
	boolean flag = true;//true表示质数,false表示不是质数
	for(int i=2;i<num;i++) {
		//判断这个数是否能整除i的值
		if(num % i==0) {
			//不是质数,则改变标识变量flag的值为false
			flag = false;
			break;
		}
	}
	//判断是否为质数,根据flag的值判断
	if(flag) {
		System.out.println(num+"是质数!");
	}else {
		System.out.println(num+"不是质数!");
	}
}

}

4 /输入一个正整数,将该数的各位左右反转输出,即输入123,输出321。(使用while循环实现)/

public class Test04 {

public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	System.out.println("请输入一个正整数:");
	int number = input.nextInt();
	
	String str = "";//定义一个空串
	while(number/10>0) {
		int a=number%10;//取出正整数的个位数
		number = number/10;//给number去掉个位数
		str = str+a;//将取出的个位数用字符串拼接
	}
	str=str+number;//拼接上最高位(number此时只剩下最高位)
	System.out.println(str);//输出字符串
}

}

5、在屏幕上打印出n行的金字塔图案

public class Test05 {

public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	System.out.print("请输入金字塔层数:");
	int num = input.nextInt();
	for(int i=0;i<num;i++) {
		for(int j=0;j<num-1-i;j++) {
			System.out.print(" ");
		}
		for(int k=0;k<2*i+1;k++) {
			System.out.print("*");
		}
		//输出换行
		System.out.println();
	}
}

}

6 /打印出100~999之间的所有“水仙花数”。所谓“水仙花数”,是指一个3位数,/

public class Test06 {

public static void main(String[] args) {
	for(int i=100;i<1000;i++) {
		int a = i%10;//个位数
		int b = i/10%10;//十位数
		int c = i/100;//百位数
		int sum=(int) (Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3));
		if(i==sum) {
			System.out.println(i);
		}
	}
}

}

7、幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案.

public class Test07{

public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	int number = (int)(Math.random()*100);//产生一个随机数
	int i=1;//即是循环变量也是猜测次数
	
	for(;i<20;i++) {
		System.out.println("请输入你猜测的数字:");
		int guess = input.nextInt();//从键盘输入一个数
		if(guess<number) {
			System.out.println("太小了");
			
		}else if(guess>number){
			System.out.println("太大了");
		}else{
			break;
		}	
	}
	
	if(i==1) {
		System.out.println("你太有才了!");
	}else if(i<=6 && i>=2) {
		System.out.println("这么快就猜出来了,很聪明么!");
	}else if(i>7 && i<21) {
		System.out.println("猜了半天才猜出来,小同志,尚需努力啊!");
	}else {
		System.out.println("你是猪吗?");
	}
}	

}

8 /将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改/

public class Test08 {

public static void main(String[] args) {
	int nums[]= {19,20,21,22,23};
	//打印原数组
	for(int i=0;i<nums.length;i++) {
		System.out.print(nums[i]+" ");
	}
	
	for(int i=0,j=nums.length-1;i<j;i++,j--) {
		int temp=nums[i];
		 nums[i]=nums[j];
		 nums[j]=temp;
	}
	
	System.out.println();//换行
	
	//打印修改后的数组
	for(int j=0;j<nums.length;j++) {
		System.out.print(nums[j]+" ");
	}
}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值