java练习题十一道 -- for循环(上)
2018-03-31 14:35
357 查看
**1.可以从控制台连续输入数字,当输入的数字为0时不可以再输入。** //思路 : 不知道输入次数 只要结果不为零就可以一直输入 Scanner sc = new Scanner(System.in); //控制台 System.out.println("请输入数字"); while(true){ int sum = sc.nextInt(); if (sum == 0){ System.out.println("你输入了0 GG~"); //输入了0就结束啦 结束当前循环 break; } }
**2.任意输入一个整数(小于10位),求它一共有多少位。** //思路:对输入的数字用最大位数(9位数)取整 ,如果结果为0说明输入的数字里没有九位数 那么就用八位数对其取整......... System.out.println("请输入数字(不要超过十位数哦)"); int sum = sc.nextInt(); int s = 0; //记录器 for( int x =100000000 ; x/sum !=0; x/=10 ) {s++;}System.out.println( 9-s); //最大位数-循环次数==当前位数
**3.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少** //思路:这应该是最简单的一道题......本年本金+利息就是下一年的本金 累计五年就可以了 double sum = 0; //因为涉及到利息 会有小数 所以这里用double for( double principal = 10000,year =0; year<5 ;year++) { principal = principal + principal*0.003; //principal *=(1+0.003); sum = principal;}System.out.println("五年后的本金是"+sum+"元"); //PS:现在知道为什么学java要数学好了.....我竟然把公式写成了本金=本金+本金/0.003...亏死
**4.计算1000以内所有不能被7整除的整数之和。** //思路 只要不能整除7数字相加起来就可以了,说整除就想到取余 只要余数不是0那就是不能被整除 int s= 0; //计数器 for(int sum=1; sum<=1000;sum++){ if(sum%7!=0){ s = sum +s;} } System.out.println(s);
**5.用for画一个圣诞树** //三部分 行 列 每行递减的空格数量 for(int ln = 0;ln <5;ln++){ //外层行数 for(int space = 5;space>ln;space--){ //第一样前面五个空格,第二行前面四个,这个循环执行完了去下一个循环 System.out.print(" "); //print 去掉ln 同行输出 } for(int row =0;row<=ln;row++){ //内层列数 System.out.print("* "); } System.out.println(); }
**6.计算 1+2-3+4-5+6-7....+100的结果** //注意审题..是1加二减三加四减五,不是加二加三。这个只要偶数累加减去奇数就好了,注意1是正数不是负数 int s=0; //计数器 for(int sum = 2; sum <=100;sum++){ if(sum%2 ==0){ //说明是偶数 s+=sum; }else if(sum%2 != 0){ s-=sum; } }System.out.println(s+1);
**7.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)。** //思路 起始为8,用while或者du..while都可以,每次翻倍就好 还有注意单位换算....1m=1000mm int sum = 8; int s = 0; //累加器 do{ sum *=2; s++; }while(sum<=884813000); System.out.println("需折叠"+s+"次");*8.从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 5*4*3*2*1. **
// 获取输入的数字 然后累乘就好啦
int sum=sc.nextInt(); //从控制台获取数字 上面已经写过这里就不写啦
int s =1; //存贮值的,因为是累乘,所以不能为0
for(;sum>=1;sum--){ //上面定义了初始变量的值,这里可以不用写
s *= sum;
}
System.out.println(s);
相关文章推荐
- java练习题十一道 -- for循环(下)
- Java中for循环的2道经典练习题
- Lesson_for_java_day12--String类的五个练习题
- java容器(八)---Java迭代器(转)(iterator详解以及和for循环的区别)
- 初入Java 实现for循环打印九九乘法表
- java学习笔记(七):for循环
- java for循环里面的数组,并打印出来
- java练习题
- Java练习题2
- java 增强 for循环
- java如何用for循环遍历list集合?
- Java中增强型for循环
- Java:增强型for循环,
- Java中for循环的执行顺序
- java 学习之二 中for循环的使用注意事项
- Java语言程序设计-基础篇-第八版-编程练习题-第七章
- [Java] 练习题008"
- Java学习笔记之JDK1.5新特性(二):增强for循环
- [Java] 练习题015: 输入三个整数x,y,z,请把这三个数由小到大输出。
- [Java] 练习题018