Java条件判断循环好题锦集(1)

下面是我学习过程中收集到的好题,以及我亲手写的解题代码。



有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字
import java.util.Arrays;

public class PrintNum_T11 {

	public static void main(String[] args) {
		
		//11、有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。(知识点:条件语句)[必做题]
		
		PrintNum_T11 pT = new PrintNum_T11();
		
		int num = 4213;
		String str ="";
		int [] IndexArr=new int[5]; //存放每一位数的值
		
		if(num>=1) {
			/*if(num<10) {
				IndexArr[0]=num;
			}*/
			IndexArr[0]=num%10;
			str +="1位:"+IndexArr[0]+" ";
			if(num/10>0) { //判断是否大于2位
				IndexArr[1] = num/10%10;
				str +="2位:"+IndexArr[1]+" ";
				if(num/100>0) { //判断是否大于3位数
					IndexArr[2]=num/100%10;
					str +="3位:"+IndexArr[2]+" ";
					if(num/1000>0) {//判断是否大于4位数
						IndexArr[3]=num/1000%10;	
						str +="4位:"+IndexArr[3]+" ";
						if(num/10000>0) {//判断是否大于5位数
							IndexArr[4]=num/10000;	
							str +="5位:"+IndexArr[4];
						}
					}
				}
			}
		
			
			System.out.println("输入数字:"+num);
			System.out.println("输出数组"+Arrays.toString(pT.reseveArr(IndexArr)));
			System.out.println(str);
		}
		else {
			System.out.println("不能为负数");
		}
		

	}
	
	 //将数组倒过来
	 int [] reseveArr(int []arr) {
		int temp;
		int [] arr1 = new int[arr.length];
		for(int i=0;i<arr.length;i++) {
			arr1[i] = arr[arr.length-i-1];
		}

		return arr1;
	}
}



编写一个程序,求整数n的阶乘,例如5的阶乘是12345
public class factorial_T15 {
	public static void main(String[] args) {
		//15、编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5 [选做题]
		int n = 15;
		String str = ""; //输出阶乘字符串
		int sum = 1;//存储阶乘值
		System.out.println("输入整数n为"+n);
		
		for(int i=1;i<=n;i++) {
			sum*=i;
			if(i==n) {
				str+=i+"="+sum;
			}
			else{
				str+=i+"×";
			}
			
		}
		System.out.println(str);
		
		
	}
}




编写一个程序,找出大于200的最小的质数

public class findPrime_T16 {

public static void main(String[] args) {

//16、编写一个程序,找出大于200的最小的质数[选做题]\

//程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),

//如果能被整除, 则表明此数不是素数,反之是素数。

int startNum = 200; //设置起始数

System.out.println("大于"+startNum+"的最小的质数=="+getPrimeNumber(startNum));

}

//得到最小质数

public static int getPrimeNumber(int startNum){

int maxNum=0 ;

int i=startNum-1; //计数器

outor:while(true) {

i++;

for(int j=2;j<Math.sqrt(i);j++) {

if(i%j==0) {

continue outor;

}

}

maxNum = i;

break;

}

return maxNum;

}

}



由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321
import java.util.Scanner;

public class FourInt_T17 {
	public static void main(String[] args) {
		//17、由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321 [选做题]
		System.out.println("请输入需要翻转的数(范围1000~9999):");
		Scanner scanner = new Scanner(System.in);
		int opNum =scanner.nextInt();
		if(opNum>999 &&opNum<10000) {
			int gewei = opNum%10;
			int shiwei = opNum/10%10;
			int baiwei = opNum/100%10;
			int qianwei = opNum/1000%10;
//			System.out.println(gewei+"-"+shiwei+"-"+baiwei+"-"+qianwei);
			System.out.println("翻转后得到的数:");
			System.out.println(gewei*1000+shiwei*100+baiwei*10+qianwei);
		}
		else {
			System.out.println("范围超过1000~9999");
		}
		
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值