文档详情

循环练习题及答案

抢***
实名认证
店铺
DOC
79.50KB
约8页
文档ID:159567852
循环练习题及答案_第1页
1/8

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 { public 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, 从控制台输入一个正整数,并进行反转。

import java.util.Scanner;public class IntReversal { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("请输入一个正整数:"); int num = input.nextInt(); if(num > 0){ System.out.println("反转前:" + num); System.out.print("反转后:"); while(num != 0){ int temp = num % 10; System.out.print(temp); num /= 10; } }else{ System.out.println("您输入的不是一个正整数!"); } }}15, 循环输入所购商品的编号和数量,系统自动计算购买每种商品的价钱,并累计中金额import java.util.Scanner;public class PriceLookup { public static void main(String[] args){ Scanner input = new Scanner(System.in); String name = ""; //商品名称 double price = 0.0; //商品价格 int goodsNo = 0; //商品编号 int amount = 0; //购买数量 double discount = 0.8; //折扣比例 double total = 0.0; //商品总价 double money = 0.0; //应付金额 System.out.println("MyShopping 管理系统 > 购物结算\n"); //商品清单 System.out.println("*****************************************************"); System.out.println("请选择购买的商品编号:"); System.out.println("1.T 恤\t\t2.网球鞋\t\t3.网球拍"); System.out.println("*****************************************************\n"); String answer = "y"; //标识是否继续 while("y".equals(answer)){ System.out.print("请输入商品编号:"); goodsNo = input.nextInt(); System.out.print("请输入购买数量:"); amount = input.nextInt(); switch(goodsNo){ case 1: name = "T 恤"; price = 245.0; break; case 2: name = "网球鞋"; price = 570.0; break; case 3: name = "网球拍"; price =320.0; break; } total = price * amount; //合计 System.out.println(name + "¥" + price + "\t" + "数量" + amount + "\t合计¥" + total); System.out.println("是否继续(y/n)"); answer = input.next(); System.out.println(); money += total; //未打折扣的应付金额 } System.out.println("折扣:" + discount); System.out.println("应付金额:" + (money * discount)); System.out.print("实付金额:"); double payment = input.nextDouble();//实付金额 System.out.println("找钱:" + (payment - money * discount)); }}16,利用循环,实现下面数据的输出结果。

1-3+5-7+…-99+101public class Sum { public static void main(String[] args){ int sum = 0; int count = 1; for(int i = 1; i <= 101; i += 2){ if(count % 2 != 0){ sum += i; System.out.print(i); }else{ sum -= i; System.out.print("-" + i + "+"); } count++; } System.out.println("=" + sum); }}。

下载提示
相关文档
正为您匹配相似的精品文档