一、今日学习
1.猜数游戏
(1)让计算机来想一个数,然后让用户来猜,用户每输入一个数,就告诉它是大了还是小了,直到用户猜中为止,最后告诉用户猜了多少次
1 import java.util.Scanner; 2 public class Study { 3 public static void main(String[] args) { 4 Scanner in=new Scanner(System.in); 5 int number=(int)(Math.random()*100+1); 6 int count=0; 7 int a; 8 System.out.println("我已经想好了一个1~100之间的数"); 9 do { 10 System.out.print("请输入你的猜想:"); 11 a=in.nextInt(); 12 count++; 13 if(a>number) { 14 System.out.println("你猜的数大了"); 15 } 16 else if(a<number) { 17 System.out.println("你猜的数小了"); 18 } 19 }while(a!=number); 20 System.out.println("恭喜你猜中了数字"+number+"!你猜了"+count+"次"); 21 } 22 }
(2)随机数:每次召唤Math.random()可以得到一个[0,1)范围的随机数。 注意:产生的是double型的数字
由此也可以进行改变,例如:产生[0,10)之间的随机数——Math.random()*10,产生[1,100]之间的随机数——(Math.random()*100)+1
2.逆序输出
(1)整数分解
一个整数是由1至多位数字组成的,如何分解出整数的各个位上的数字: 对一个整数做%10的操作数,就得到了它的个位数;对一个整数做/10的操作,就去掉了它的个位数;然后再对结果做%10,就得到原来数的十位数,以此类推。
(2)输入一个正整数,输出逆序的数
1 import java.util.Scanner; 2 public class Study { 3 public static void main(String[] args) { 4 Scanner in=new Scanner(System.in); 5 System.out.print("请输入一个正整数:"); 6 int number=in.nextInt(); 7 int result=0; 8 do { 9 int digit=number%10; 10 result=result*10+digit; 11 number=number/10; 12 }while(number>0); 13 System.out.println("逆序结果为:"+result); 14 } 15 }
二、遇到问题
再写产生随机数int number=Math.random()时遇到了错误:Type mismatch: cannot convert from double to int,这是因为Math.random()产生的double值的数字,如果赋值给不是double类型的变量,将会出现这个问题。所以我们可以进行类型转换,表示为:int number=(int)Math.random()
三、明日学习
继续复习