码迷,mamicode.com
首页 > 其他好文 > 详细

循环结构进阶

时间:2017-04-10 18:29:52      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:exti   break   scanner   src   port   demo   next   用户密码   equals   

1.二重循环及其使用

二重循环就是一个循环中包含另一个循环

使用二重循环可以简易的解决一些问题,例如:

编辑一个等腰三角形

技术分享

 

public class Zuoye13 {

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入等腰三角形的行数:");
int num = input.nextInt(); //输入行数
for (int i = 1; i <= num; i++) { //行数
for (int j = 0; j <= num-i; j++) { //空格
System.out.print(" ");
}
for (int k = 1; k <= 2*i-1; k++) { //星号
System.out.print("*");
}
System.out.println();
}
}
}

2.在二重循环中使用continue语句以及break语句。

技术分享

例题:ATM机取款,首先提示输入密码最多输入三次,超过则提示“输入错误”,“交易结束”。

密码正确则提示输入金额,ATM只能输出100的纸币,每次取款最多1000,最少0元。

符合要求,输出钱并提示“交易完成,请取卡”,否则提示“重新输入金额”。

package cn.jbit.nestedloops;
import java.util.Scanner;
public class ATMDemo {
/**
* 简单ATM机取款过程模拟
*/
public static void main(String[] args) {
String pass = ""; //保存用户输入密码
int amount = 0; //取款金额
String password = "111111"; //用户密码
int count = 0; //记录密码输入次数
boolean isPass = false; //密码是否通过验证
Scanner input = new Scanner(System.in);

while(count < 3 && !isPass){
System.out.print("请输入密码:");
pass = input.next();
if(!password.equals(pass)){
count++;
continue;
}
isPass = true; //密码通过验证
System.out.print("请输入金额:");
amount = input.nextInt();
while(amount>0){
if(amount<=1000 && amount%100==0){
System.out.println("您取了" +amount+ "元");
System.out.println("交易完成,请取卡!");
break; //完成交易,退出
}else{
System.out.print("您输入金额的金额不合法,请重新输入:");
amount = input.nextInt();
continue; //继续让用户输入金额
}
}
}
if(!isPass){ //用户输入了3次错误密码
System.out.print("密码错误,请取卡!");
}
}
}

 

循环结构进阶

标签:exti   break   scanner   src   port   demo   next   用户密码   equals   

原文地址:http://www.cnblogs.com/mao-1/p/6690124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!