每天5道Java基础编程练习题(五)

本文提供了5道Java基础编程练习题,包括判断数字位数、逆序输出、回文数检验、星期字母判断和素数求解,旨在帮助初学者提升编程思维和技能。
摘要由CSDN通过智能技术生成

每天5道Java基础编程练习题(五)

你好! 欢迎阅读,今天是第五天,本系列面向Java基础基础学习阶段程序猿,每天5道基础编程,希望能帮你慢慢培养编程思维,走进编程的世界(高手勿喷)
大量的注释让你更正确快速的阅读代码。
废话不多说,让我们直接进入正题

第一题

给一个不多于5位的数,要求:
1.求它是几位数
2.逆序打印出各位数字

public static void demandNumberLength1(){
		System.out.println("输入一个数(不超过5位):");
		int num=new Scanner(System.in).nextInt();
		int count=0;//计数
		do {
			System.out.println(num%10);//输出个位
			num=num/10;//去掉个位
			count++;//个数加一
		} while (num!=0);//判断它是否为0,确定是否还有位数
		System.out.println("它是"+count+"位数");
	}

第二题

一个5位数,判断它是不是回文数。
即12321是回文数,个位和万位相同,十位与千位相同

public static void returnNumber(){
		System.out.println("输入一个数字(至少3位):");
		String s= new Scanner(System.in).next();//用String类型接收,方便处理
		char[] ch=s.toCharArray();//转为字符数组
		int i;//
		//循环遍历,长度为数组的一半,
		//如果为偶数,结果为一半
		//如果为奇数,长度为一半减一(int/int=int)
		for (i = 0; i < ch.length/2; i++) {
			//判断第一位和最后一位是否相等
			if(ch[i]==ch[ch.length-i-1]){
				//如果相等,不做处理,只用i来计数
			}else{
				//如果不相等,退出循环,此时i的值不为ch.length/2
				break;
			}
		}
		//如果 i==ch.length/2 表示,循环正常结束,这个数是回文数
		if(i==ch.length/2){
			System.out.println("是");
		}else{
			System.out.println("否");
		}
	}

第三题

请输入星期几的第一个字母判断是星期几,
如果第一个字母一样,则继续判断下一个字母

public static void opinionWeekDay(){
		while(true){//死循环,也可以做菜单方法
			System.out.println("-------------------");
			System.out.println("退出程序—————n");
			System.out.println("请输入星期几的第一个字母:");
			String letter= new Scanner(System.in).next();
			//输入转为大写
			letter=letter.toUpperCase();
			switch (letter) {
			case "M":
				System.out.println("周一");
				break;
			case "W":
				System.out.println("周三");
				break;
			case "F":
				System.out.println("周五");
				break;
			case "T":
				System.out.println("请输入第二个字母:");
				String letter1= new Scanner(System.in).next();
				//输入转大写
				letter1=letter1.toUpperCase();
				if(letter1.equals("U")){
					System.out.println("周二");
				}else{
					System.out.println("周三");
				}
				break;
			case "S":
				System.out.println("请输入第二个字母:");
				String letter2= new Scanner(System.in).next();
				//输入转大写
				letter2=letter2.toUpperCase();
				if(letter2.equals("A")){
					System.out.println("周六");
				}else{
					System.out.println("周日");
				}
				break;
			case "N":
				System.out.println("谢谢使用!");
				System.exit(0); 
				break;
			default:
				//不在其中的字母给提示,增加用户体验
				System.out.println("请输入正确的字母!");
				break;
			}
		}
	}

第四题

求100以内的素数

public static void primeNumber(){
		int count=0;//计数
		for(int i=100;i>1;i--){//遍历1~100的数
			for(int j=i-1;j>0;j--){//从i-1开始,逆序判断
				if(j==1){//如果j循环到1,说明没有退出循环
					//此时的i为素数
					System.out.print(i+"\t");
					count++;//技术
					if(count%5==0){//每5个换行
						System.out.println();
					}
				}
				if(i%j==0){//不是素数,退出循环,j不可能为0
					break;
				}
			}
		}
	} 

第五题

对10个数进行排序

public static void tenNumberSort(){
		int[] num=new int[10];//定义一个长度为10的数组
		for (int i = 0; i < num.length; i++) {//循环输入
			System.out.println("请输入第"+(i+1)+"个数:");
			//将输入的数存入数组,下标自动增加
			num[i]=new Scanner(System.in).nextInt();
		}
		int middle=0;//中间变量
		//冒泡排序
		/*外层循环 i < num.length-1,是因为倒数第二次比较第一位和
		*第二位之后,已经排序完成,不用在比较第一位*/
		for (int i = 0; i < num.length-1; i++) {//控制循环次数
			/*
			*j < num.length-1-i
			*这个地方减一是因为判断条件中有j+1,防止数组下标越界异常
			*-i是因为每次比较之后,最后的i位一定是排好序的,不用再比较
			*/
			for (int j = 0; j < num.length-1-i; j++) {
				if(num[j]>num[j+1]){//将大的数赋给j+1
					//交换
					middle=num[j];
					num[j]=num[j+1];
					num[j+1]=middle;
				}
			}
		}
		//遍历输出
		for (int i = 0; i < num.length; i++) {
			System.out.println(num[i]);
		}
	}

能坚持到今天,你已经很优秀了,高手就是比你身边的人更努力一点,比同行多敲几遍
学习要循序渐进,思维慢慢培养,如果遇到程序异常要耐心检查,大多数都是语法错误,比如该大写没有大写,该加分号的没有分号,改写分号的写了其他符号。
耐心检查,你一定会成功!!
第五天,加油!!

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值