import java.util.Scanner;
public class Text3 {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int count = 0;
int number = in.nextInt();
do{
number/=10;
count++;
}while(number>0);
System.out.println(count);
}
}
上述代码的作用是判断一个正整数是几位,使用的是do-while循环!while循环与do-while循环的区别主要在于do-while循环不管条件成不成立都会做一次循环,而while有可能一次也不做。上述代码中,number=0是不满足条件的!但它依然是一位数,故应该进循环。所以使用do-while循环更合理一些。
import java.util.Scanner;
public class Text4 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int result = 0;
int number = in.nextInt();
int digit;
while(number>0){
digit=number%10;
result=result*10+digit;
number/=10;
}
System.out.println(result);
}
}
上述代码是求正整数的逆序输出。
import java.util.Scanner;
public class Text5 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int count=0;
int number = (int)(Math.random()*100+1);
int a;
do{
a=in.nextInt();
count++;
if(a>number){
System.out.println("你猜的数大了!");
}
else if(a<number){
System.out.println("你猜的数小了!");
}
}while(a!=number);
System.out.println("恭喜你猜对了!猜了"+count+"次");
}
}
上述代码是一个猜数游戏,其中Math.random()会产生一个区间为[0,1)的随机数。