循环练习题及答案

更新时间:2023-11-09 17:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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(\年后,获得的本金是\ +(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以内的整数

}

//所有不能被7整除的整数的和

if (i % 7 != 0){ //对7取余 sum += i; //余数不为0 则相加 }

System.out.println(\以内所有不能被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++){ }

if (count >= 9){

System.out.println(\一级\); }else if (count >= 6){

System.out.println(\二级\); }else{

System.out.println(\三级\); }

System.out.print(\请输入\ + i + \局的游戏得分:\); score = input.nextDouble(); if(score >= 80){ }

count++;

5,有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?

分析:兔子的规律为数列,1,1,2,3,5,8,13,21

public class Fobonacci1 {

public static void main(String[]args){ int f1 = 1; int f2 = 1; int sum = 0;

for(int i = 3; i <= 12; i++){ }

System.out.println(\一对兔子一年内(12个月)能繁殖成\ + sum + \对。\);

} }

sum = f1 + f2; f1 = f2; f2 = 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 + \ + f2 + \); for(int i = 3; i <= 20; i++){ } } }

int f3 = f1 + f2; f1 = f2; f2 = f3;

System.out.print(f3 + \); 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){ }

item += i; if(item >= 2000){

System.out.println(\那个数是:\ + i); break; }

continue;

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++) { }

System.out.println(sum);

b = b + a; sum = sum + b; a = a * 10;

System.out.print(b); if(i != n - 1){ }

System.out.print(\); System.out.print(\); }else{

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) { } i++;

count++; sum += num;

}while (i < 10 && num != 999); 和为:\ + sum);

System.out.println(\你输入的数字中正数个数为:\ + count + \正数的

}

}

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(\)){

System.out.println(\我们形影不离\); }

}while (!choice.equals(\));

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++){ }

for(int k = 1; k <= 2 * i - 1; k++){ }

System.out.println();

System.out.print(\); System.out.print(\);

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); int temp = a; a = b; b = temp;

System.out.println(\交换后,a = \ + a + \ + 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(\管理系统 > 购物结算\\n\ //商品清单

System.out.println(\**\

System.out.println(\请选择购买的商品编号:\

System.out.println(\恤\\t\\t2.网球鞋\\t\\t3.网球拍\

System.out.println(\**\\n\

String answer = \ //标识是否继续 while(\

System.out.print(\请输入商品编号:\ goodsNo = input.nextInt();

System.out.print(\请输入购买数量:\ amount = input.nextInt(); switch(goodsNo){ case 1:

name = \恤\ 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 + \¥\数量\

\合计¥\

System.out.println(\是否继续(y/n)\ answer = input.next(); System.out.println();

money += total; //未打折扣的应付金额 }

System.out.println(\折扣:\

System.out.println(\应付金额:\ System.out.print(\实付金额:\

double payment = input.nextDouble();//实付金额

System.out.println(\找钱:\ } }

16,利用循环,实现下面数据的输出结果。 1-3+5-7+?-99+101

public class Sum { }

public static void main(String[] args){ }

int sum = 0; int count = 1;

for(int i = 1; i <= 101; i += 2){ }

System.out.println(\ + sum);

if(count % 2 != 0){ }

count++;

sum += i;

System.out.print(i); sum -= i;

System.out.print(\ + i + \);

}else{

本文来源:https://www.bwwdw.com/article/77cv.html

Top