java循环判断要点_Java 循环条件判断好题锦集

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

有一个不多于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

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

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");

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值