博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java编程强化练习】-流程控制(1)
阅读量:4050 次
发布时间:2019-05-25

本文共 9429 字,大约阅读时间需要 31 分钟。

流程控制

1.需求说明:综合运用嵌套if选择结构、switch选择结构实现商品换购功能。

在这里插入图片描述

public class Practice01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); System.out.print("请输入消费金额:"); double money = input.nextDouble(); double sumMoney = 0.0; if(money >= 50) {
System.out.println("是否参加优惠换购活动:"); System.out.println("1:满50元,加2元换购百事可乐饮料一瓶"); System.out.println("2:满100元,加3元换购500ml可乐一瓶"); System.out.println("3:满100元,加10元换购5公斤面粉"); System.out.println("4:满200元,加10元换购1个苏波尔炒菜锅"); System.out.println("5:满200元,加20元换购欧莱雅爽肤水一瓶"); System.out.println("0:不换购"); System.out.print("请选择:"); int index = input.nextInt(); switch(index) {
case 1: sumMoney = money + 2; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:百事可乐饮料一瓶。"); break; case 2: sumMoney = money + 3; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:500ml可乐一瓶。"); break; case 3: sumMoney = money + 10; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:5公斤面粉。"); break; case 4: sumMoney = money + 10; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:1个苏波尔炒菜锅。"); break; case 5: sumMoney = money + 20; System.out.println("本次消费总金额:" + sumMoney); System.out.print("成功换购:欧莱雅爽肤水一瓶。"); break; case 0: System.out.println("不换购。"); break; default: break; } }else {
System.out.println("不参与优惠换购活动"); } input.close(); }}

2.输入赵本山的考试成绩,显示所获奖励。

成绩==100分,爸爸给他买辆车
成绩>=90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买
(分别用if-else和switch两种方式实现)

public class Practice02 {
public static void main(String[] args) {
//1.if-else实现 Scanner input = new Scanner(System.in); System.out.print("请输入赵本山考试成绩:"); double score = input.nextDouble(); if (score == 100) {
System.out.println("爸爸给他买车"); } else if (score >= 90) {
System.out.println("妈妈给他买MP4"); } else if (score >= 60) {
System.out.println("妈妈给他买本参考书"); } else {
System.out.println("什么都不买"); } input.close(); }}
public class Practice02 {
public static void main(String[] args) {
//2.switch方式 Scanner input = new Scanner(System.in); System.out.println("请输入赵本山考试成绩:"); double score = input.nextDouble(); switch((int)score/10) {
case 10: System.out.println("爸爸给他买车"); break; case 9: System.out.println("妈妈给他买MP4"); break; case 8: case 7: case 6: System.out.println("妈妈给他买本参考书"); break; case 5: case 4: case 3: case 2: case 1: case 0: System.out.println("什么都不买"); break; default: System.out.println("超出0-100范围,输入有误"); break; } input.close(); }}

3.使用while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。

转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32
提示:
1、循环操作:计算摄氏温度,并输出对照条目
2、循环条件:条目<=10 && 摄氏温度 <= 250
在这里插入图片描述

public class Practice03 {
public static void main(String[] args) {
System.out.println("温度\t华氏"); int ss = 0; int hs; int count = 1; while (ss <= 250 && count <= 10) {
hs = (int) (ss * 9 / 5.0 + 32); System.out.println(ss + "\t" + hs); ss += 20; count++; } }}

4.计算100以内偶数之和。

编程实现:计算100以内(包括100)的偶数之和。

public class Practice04 {
public static void main(String[] args) {
int sum = 0; for(int i=1;i<=100;i++){
if(i%2!=0){
continue; } sum += i; } System.out.println(sum); }}

5.小红今年12岁,她父亲比她大20岁,编一程序,计算出她父亲在几年后比她的年龄大1倍,那时他们两人的年龄各为多少?

public class Practice05 {
public static void main(String[] args) {
int hong = 12; int baba = 32; int i=1; while(i<=100){
if((hong+i)*2==(baba+i)){
break; } i++; } System.out.println(i); }}

6.需求说明:用户登录验证。验证次数最多3次

在这里插入图片描述

public class Practice06 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); int i = 3; //循环初始化 while (i > 0) {
//循环条件 System.out.print("请输入用户名:"); String userName = input.next(); System.out.print("请输入密码:"); String passWord = input.next(); if ("jim".equals(userName) && "123456".equals(passWord)) {
System.out.println("欢迎登陆MyShopping系统!"); break; //跳出循环 } else {
i--; //循环迭代 System.out.println("输入错误!您还有" + i + "次机会"); // System.out.println(i); } } if (i == 0) {
System.out.println("对不起,您3次均输入错误!"); } input.close(); }}

7.一辆以固定速度行驶的汽车,清晨司机看到里程表上从左到右的读数和从右到左的计数是一样的,这个数是95859,2小时后,里程表上又出现一个新的对称数,问此车的时速是多少?这个新的对称数是什么?设里程表为5位数字.

public class Practice07 {
public static void main(String[] args) {
int speed = 1; int lc = 0; while(lc<=100000&&speed<=200){
lc = 95859 + 2*speed; if(lc/10000==lc%10 && lc/1000%10==lc/10%10){
System.out.println("速度为:"+speed+"\t里程为:"+lc); } speed++; } }}

8.求n!,n由键盘输入, 范围要求3-15之间,如果用户输入的数不满足条件,则提示重新输入,直到输入了正确的n, 计算阶乘并输出结果。

import java.util.Scanner;public class Practice08 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); int num; while(true){
System.out.print("请输入3-10之间的数字:"); num = input.nextInt(); if(num>=3&&num<=10){
break; }else{
System.out.println("输入错误,再来!!"); } } int sum = 1; for(int i=1;i<=num;i++){
sum *= i; } System.out.println(sum); }}

9.从键盘输入a,b,c三个值,检查能否构成三角形.如能构成三角形,则计算三角形的面积.

import java.util.Scanner;public class Practice09 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); int a,b,c; System.out.print("请输入第一条边的长度:"); a = input.nextInt(); System.out.print("请输入第二条边的长度:"); b = input.nextInt(); System.out.print("请输入第三条边的长度:"); c = input.nextInt(); if(a+b>c&&a+c>b&&b+c>a){
System.out.println("可以构成三角形"); }else{
System.out.println("不能构成三角形"); } }}

10.编程,任意输入15个数,找出最小数.

import java.util.Scanner;public class Practice10 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); System.out.print("请输入第1个数字:"); int min = input.nextInt(); for(int i=2;i<=15;i++){
System.out.print("请输入第"+i+"个数字:"); int num = input.nextInt(); if(min>num){
min = num; } } System.out.println("最小值:"+min); }}

11.编程,任意输入n个数, 当输入-1时结束,找出其中最大数和最小数.

import java.util.Scanner;public class Practice11 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); System.out.print("请输入数字:"); int num = input.nextInt(); if(num!=-1){
int max,min; max = num; min = num; while(true){
System.out.print("请输入数字:"); num = input.nextInt(); if(num==-1){
break; } if(max
num){
min = num; } } System.out.println("最大值:"+max+"\t最小值:"+min); } }}

12.小猴子摘来一些桃.它吃掉了一半,觉得不过瘾,又吃掉了一只.第二天,它也这样,先吃了剩下的一半,再多吃一只.第三天也如此.第十天小猴子一看,就剩一个桃子了.问小猴子那天共摘来多少只桃?

public class Practice12 {
public static void main(String[] args) {
int s = 1; for(int i=9;i>0;i--){
s = (s+1)*2; } System.out.println(s); }}

13.找出1~10000之间的全部同构数.

同构数指一个数出现在它的平方的右端.
如:5的平方是25,5是25右端的数,5和25就是一对同构数.

public class Practice13 {
public static void main(String[] args) {
int i=0,j; int w=10; while(i<=10000){
i++; if(i==w){
w*=10; } j=i*i; if ((j%w)==i){
System.out.println(i+"和"+j+"为同构数"); } } }}

14.如果一个数等于它的每一位数的立方和,则称为水仙花数,如153=1+125+27

求100-999之间的全部水仙花数.

public class Practice14 {
public static void main(String[] args) {
for(int i=100;i<=999;i++){
int gw = i%10; int sw = i/10%10; int bw = i/100; if(i == gw*gw*gw+sw*sw*sw+bw*bw*bw){
System.out.println(i); } } }}

15.输出3~100之间的全部素数.

public class Practice15 {
public static void main(String[] args) {
for (int i = 3; i <= 100; i++) {
// 从2开始到i-1,对i进行整除 int j = 2; for (; j < i; j++) {
if (i % j == 0) {
break; } } if (i == j) {
System.out.print(i + " "); } } }}

16.计算1+3!+5!+…+(2n-1)! 前10 项和.

public class Practice16 {
public static void main(String[] args) {
long sum = 0; for(int i=1;i<=10;i++){
long num =1; for(int j=1;j<=2*i-1;j++){
num *=j; } sum += num; } System.out.println(sum); }}

17.编程计算 S=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)

import java.util.Scanner;public class Practice17 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); System.out.print("请输入n:"); int n = input.nextInt(); int he=0; int sum=0; for (int i=1;i<=n;i++){
he+=i; sum+=he; } System.out.println("结果为:"+sum); }}

18.用子程序求级数的前n项和,级数为 s=1+(1+3)+(1+3+5)+…+(1+3+5+…+2n-1)

import java.util.Scanner;public class Practice18 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); System.out.print("请输入n:"); int n = input.nextInt(); int he = 0; int sum = 0; for(int i=1;i<=2*n-1;i++){
if(i%2==1){
he+=i; }else{
continue; } sum+=he; } System.out.println("结果为:"+sum); }}

19.雨淋湿了小学生算术本上一道题,8个数字只能看清3个(第一个数字虽然模糊不清楚,但可看出不是1):

[□×(□3+□)]2=8□□9,
确定方框中应是什么数.

public class Practice19 {
public static void main(String[] args) {
int x,y,z,i,j; for(x=2;x<=9;x++){
for(y=1;y<=9;y++){
for(z=1;z<=9;z++){
for(i=0;i<=9;i++){
for(j=0;j<=9;j++){
int first=(x*((10*y+3)+z))*(x*((10*y+3)+z)); int second=8000+100*i+10*j+9; if(first==second){
System.out.println("x="+x+"\ty="+y+"\tz="+z+"\ti="+i+"\tj="+j); } } } } } } }}

20.求100之内的所有完备数.完备数是其各因子之和等于其本身的正整数.

public class Practice20 {
public static void main(String[] args) {
for(int i=1;i<=100;i++){
int sum=0; for (int j=1;j

转载地址:http://vmici.baihongyu.com/

你可能感兴趣的文章
Server.MapPath方法测试结果
查看>>
Asp.net 默认配置下,Session莫名丢失的原因及解决办法
查看>>
Datawindow.net中如何使用Calendar控件
查看>>
如何在Datawindow.net中实现让当前行选中,并且当前行以其他颜色显示
查看>>
Datawindow.net如何使用导航栏
查看>>
如何利用Datawindow.net提取Sequence数据
查看>>
小诗,纪念我即将到来的结婚两周年
查看>>
自勉文[出处不详,待考证]
查看>>
中国行政级别
查看>>
国家公务员的级别
查看>>
悼念地震死难者:使整个网页变黑白色(灰色)的特效代码
查看>>
asp.net优化完全技巧
查看>>
道 经
查看>>
德 经
查看>>
藏太甲于桐宫-从电视剧康熙王朝中学到的历史知识
查看>>
开发过程中的沟通问题
查看>>
“众”字透出的哲学
查看>>
恋爱爱情婚姻家庭与炒股票
查看>>
答非所问的古今中外名人小笑话幽默
查看>>
周易、命理、风水、姓名与命运交流周易研究心得:姓名学
查看>>