变量的作用域
趣味游戏
public static void main(String[] args) { //生成随机数 double强转int int v = (int) (Math.random() * 100 + 1); int n = 0; Scanner scanner = new Scanner(System.in); while (true){ System.out.println("请输入您猜想的数字"); int i = scanner.nextInt(); if (i>v){ System.out.println("您的猜想大了"); }else if (i<v){ System.out.println("您的猜想小了"); }else { System.out.println("您的终于猜对了"); break; } } scanner.close(); }
请输入您猜想的数字 50 您的猜想大了 请输入您猜想的数字 25 您的猜想小了 请输入您猜想的数字 35 您的猜想大了 请输入您猜想的数字 30 您的猜想小了 请输入您猜想的数字 33 您的猜想大了 请输入您猜想的数字 31 您的猜想小了 请输入您猜想的数字 32 您的终于猜对了
DEMO:
习题:
描述
有数列为:9,99,999,…,9999999999。要求使用程序计算此数列的和,并在控制台输出结果。(请尝试使用循环的方式生成这个数列并同时在循环中求和)
输入描述:
无
输出描述:
将该数列的和直接输出
public static void main(String[] args) { long count = 0; long sum = 0; for(int i = 0 ; i < 10 ; i++){ //理解点:count * 10+ 9 每次循环都会增加 9 99 999----》 count = count * 10 + 9; //把和进行相加 sum = sum + count; } System.out.println(sum); }
运行结果是
11111111100
描述
控制台输入整数,请设计一个死循环,当用户输入非正数时停止输入。请给出用户输入的正整数个数(默认输入个数不超过2147483647)
输入描述:
若干整数,整数之间用空格隔开
输出描述:
控制台输入的正整数个数
public static void main(String[] args) { int count = 0; System.out.println("请输入正整数"); Scanner scanner = new Scanner(System.in); while(true){ int num = scanner.nextInt(); if(num <=0){ break; } count++; } System.out.println("整数的个数为"+count); }
结果为
请输入正整数 15 20 35 63 0 整数的个数为4
描述
一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?
输入描述:
输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)
输出描述:
输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)
比较绕… 我理解了好几次也才明白
public static void main(String[] args) { Scanner scanner=new Scanner(System.in); float h=scanner.nextFloat();//高度 int n =scanner.nextInt();//次数 //write your code here...... float sum = h; for (int i=1;i<n;i++){ //当n=3的时候 他小于3也就是2 故外面进行第3次运算 h/=2; //50 25 sum += (h*2.0);//100+100=200 25*2+200=250 System.out.println(""); } h /=2.0; //返回保留二位的数值 System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", sum)); }
结果为
100 3 12.500 250.000
描述
键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数,
输入描述:
任意多个正整数
输出描述:
它们的平均数(平均数为double类型,保留两位小数)
public static void main(String[] args) { int count = 0; int se = 0; System.out.println("请输入数字"); Scanner scanner = new Scanner(System.in); while (true) { 请输入数字 9289 90 736 23 799 -1 2187.40} double s =(double)se/count; System.out.println(String.format("%.2f", s)); }请输入数字 9289 90 736 23 799 -1 2187.40
运行结果是
请输入数字 9289 90 736 23 799 -1 2187.40
描述
输入一个整数,计算它的位数。如果输入的整数不大于0则输出这个数
输入描述:
一个整数
输出描述:
整数的位数
public static void main(String[] args) { Scanner scanner= new Scanner(System.in); int l= scanner.nextInt(); if (l>0){ System.out.println(String.valueOf(l).length()); }else { System.out.println("===>"+l); } }
结果是
-1 ===>-1