循环练习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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,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++){
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+101
public 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);
}
}。

相关文档
最新文档