当前位置:文档之家› 循环练习题及答案

循环练习题及答案

循环练习题及答案1,任意输入一个整数(小于10位),求它的位数import java.util.Scanner;public class BitNum {public static void main(String[] args){Scanner input = new Scanner(System.in);int count = 0;System.out.print("请输入一个整数(小于10位):");int num = input.nextInt();if(num >= 0 && num <= 999999999){while(num != 0){count++;num /= 10;}System.out.println("它是个" + count + "位的数。

");}else{System.out.println("输入有误!");}}}2,本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。

计算5年后,获得的本金是多少?public class Principal {public static void main(String[]args){double money = 10000;for(int i = 0; i < 5; i++){money *= 1+0.003;}System.out.println("5年后,获得的本金是"+(int) money + "元。

");}}3,计算1000以内所有不能被7整除的整数之和。

public class NotDiviBySevenSum {public static void main(String[]args){int sum = 0;for (int i = 1; i < 1000; i++){ //1000以内的整数if (i % 7 != 0){ //对7取余sum += i; //余数不为0 则相加}}//所有不能被7整除的整数的和System.out.println("1000以内所有不能被7整除的整数之和为:" + sum);}}4,编写一个游戏级别评分器,循环录入每一局(共10局)的游戏得分,显示输出游戏级别。

import java.util.Scanner;public class DigitalExchange {public static void main(String[] args){Scanner input = new Scanner(System.in);int count = 0;double score = 0;for (int i = 1; i <= 10; i++){System.out.print("请输入" + i + "局的游戏得分:");score = input.nextDouble();if(score >= 80){count++;}}if (count >= 9){System.out.println("一级");}else if (count >= 6){System.out.println("二级");}else{System.out.println("三级");}}}5,有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。

已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。

假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?分析:兔子的规律为数列,1,1,2,3,5,8,13,21public class Fobonacci1 {public static void main(String[]args){int f1 = 1;int f2 = 1;int sum = 0;for(int i = 3; i <= 12; i++){sum = f1 + f2;f1 = f2;f2 = sum;}System.out.println("一对兔子一年内(12个月)能繁殖成" + sum +"对。

");}}6,斐波那契数列的第1和第2个数分别为1和1,从第三个数开始,每个数等于其前两个数之和(1,1,2,3,5,8,13….).编写一个程序输出斐波那契数列中的前20个数,要求每行输出5个数。

public class Fobonacci2 {public static void main(String[]args){int f1 = 1;int f2 = 1;System.out.println("斐波那契数列中的前20个数为:");System.out.print(f1 + "\t" + f2 + "\t");for(int i = 3; i <= 20; i++){int f3 = f1 + f2;f1 = f2;f2 = f3;System.out.print(f3 + "\t");if(i % 5 == 0){System.out.println();}}}}7,计算出1—100之间所有不能被3整除的整数的和大于(或等于)2000的数字。

public class ForAnInteger {public static void main(String[]args){int item = 0;for(int i = 1; i <= 100; i++){if(i % 3 ==0){continue;}item += i;if(item >= 2000){System.out.println("那个数是:" + i);break;}}}}8,求s=a+aa+aaa+aaaa+….+aa...a的值,其中a 是一个数字。

例如2+22+222+2222,a的值和加数个数n均从键盘获取。

import java.util.Scanner;public class Test8 {p ublic static void main(String[] args) {Scanner input = new Scanner(System.in);long a , b = 0, sum = 0;System.out.print("输入数字a的值: ");a = input.nextLong();System.out.print("输入相加的项数:");int n = input.nextInt();for(int i = 0; i < n; i++) {b = b + a;sum = sum + b;a = a * 10;System.out.print(b);if(i != n - 1){System.out.print(" + ");}else{System.out.print(" = ");}}System.out.println(sum);}}9,编写一个程序,最多接受10个数字,并求出其中所有正数的和,用户可以通过输入999终止程序,统计用户输入的正数的个数,并显示这些正数的和。

(提示;continue)import java.util.Scanner;public class Test8 {public static void main(String[] args) {Scanner input = new Scanner(System.in);int count = 0; //正数个数int sum = 0; //正数的和int num = 0; //输入的数字int i = 0;do {System.out.print("请输入第" + (i + 1) + "个数:");num = input.nextInt();if (num > 0 && num != 999) {count++;sum += num;}i++;}while (i < 10 && num != 999);System.out.println("你输入的数字中正数个数为:"+ count +",正数的和为:" + sum);}}10.使用do-while循环:输出询问“我爱你,嫁给我吧?”,选择“你喜欢我吗?(y/n):",如果输入为y则打印”我们形影不离“,若输入为n,则继续询问import java.util.Scanner;public class LoveChoice {public static void main(String[] args) {Scanner input = new Scanner(System.in);String choice = "";do {System.out.println("我爱你,嫁给我吧?");System.out.print("你喜欢我吗?(y/n):");choice = input.next();if(choice.equals("y")){System.out.println("我们形影不离");}}while (!choice.equals("y"));}}11, 具有4行等腰三角形(用循环来做)****************public class AnIsoscelesTriangle {public static void main(String[] args){for(int i = 1; i <= 4; i++){for(int j = 1; j <= 4 - i; j++){System.out.print(" ");}for(int k = 1; k <= 2 * i - 1; k++){System.out.print("*");}System.out.println();}}}12, ,从控制台接收两个数字,利用变量将这两个数字进行互换,并输出.import java.util.Scanner;public class DigitalExchange {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.print("请输入第1个数a:");int a = input.nextInt();System.out.print("请输入第2个数b:");int b = input.nextInt();System.out.println("交换前,a = " + a + ",b = " + b);int temp = a;a = b;b = temp;System.out.println("交换后,a = " + a + ",b = " + b);}}13, 实现一个数字加密器,加密规则是:加密结果= (整数*10+5)/2 + 3.14159 加密结果仍为一整数(数字从控制台输入)import java.util.Scanner;public class DigitalEncryption {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.print("请输入您要加密的数:");int num = input.nextInt();System.out.println("加密前:" + num);int encryption = (int)((num * 10 + 5) / 2 + 3.14159);System.out.println("加密后:" + encryption);}}14, 从控制台输入一个正整数,并进行反转。

相关主题