下面是我学习过程中收集到的好题,以及我亲手写的解题代码。
有一个不多于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");
}
}
}