3.1.1
1.循环版售票机
1.在2.2中的版本
//初始化
Scanner in = new Scanner(System.in);
//读入投币金额
System.out.println("请投币");
int amount = in.nextInt();
if(amount>=10)
{
//打印车票
System.out.println("****************");
System.out.println("Java城际铁路专线");
System.out.println("* 无指定座位票 *");
System.out.println("* 票价: 10元 *");
System.out.println("****************");
//计算并找零
System.out.println("找零:"+(amount-10));
}
这样的只能运行一次就结束了,但我们希望能重复使用
a,选中需要循环的部分
System.out.println("请投币");
int amount = in.nextInt();
if(amount>=10)
{
//打印车票
System.out.println("****************");
System.out.println("Java城际铁路专线");
System.out.println("* 无指定座位票 *");
System.out.println("* 票价: 10元 *");
System.out.println("****************");
//计算并找零
System.out.println("找零:"+(amount-10));
}
b,然后按tap键 可以把选中的部分一起往后推进
c,加上while(true) {} 就可以循环运行了
Scanner in = new Scanner(System.in);
//读入投币金额
while(true)
{
System.out.println("请投币");
int amount = in.nextInt();
if(amount>=10)
{
//打印车票
System.out.println("****************");
System.out.println("Java城际铁路专线");
System.out.println("* 无指定座位票 *");
System.out.println("* 票价: 10元 *");
System.out.println("****************");
//计算并找零
System.out.println("找零:"+(amount-10));
}
}
2.循环版2.0(可以累积投币)
Scanner in = new Scanner(System.in);
int balance = 0;
//balance是累次的钱,amount是这次投入了多少钱
while(true)
{
//读入投币金额
System.out.println("请投币");
int amount = in.nextInt();
balance = balance + amount;
if( balance >= 10 )
{
//打印车票
System.out.println("****************");
System.out.println("Java城际铁路专线");
System.out.println("* 无指定座位票 *");
System.out.println("* 票价: 10元 *");
System.out.println("****************");
//计算并找零
System.out.println("找零:"+(balance-10));
balance = 0;
}
}
(打印车票并找零后记得把balance清零)
3.1.2
1.判断数字的位数
Scanner in = new Scanner(System.in);
int number = in.nextInt();
int count = 0;
while(number>0)
{
number = number / 10;
count = count + 1;
}
System.out.println(count);
3.1.3
1.表格变量
2.调试
3.带入边界变量(当带入0时,结果为0,错误)
3.1.4
要解决0的问题,可以先进行循环体里的内容,然后再判断条件是否满足,用do-while循环即可
Scanner in = new Scanner(System.in);
int number = in.nextInt();
int count = 0;
do
{
number = number / 10;
count = count + 1;
}while(number>0);
System.out.println(count);