循环语句:设计一个程序,计算需要多长时间才能够存储一定数量的退休金,假定每年存入相同数量的金额,而且利率是固定的。
解析:需要从键盘输入给定的退休金变量goal作为条件,从键盘输入每年发放的退休金额(payment)和利率(rate)。定义一个insert变量,计算每年的存入的退休金额,将insert与原定的退休金做比较,insert=(每年发放的退休金*利率)/100,再定义一个变量balance用来累积的每年的收入(insert),最后定义一个变量years作为计数器。
import java.util.*;
public class Example {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入要达到的退休金额总数:");
double goal=in.nextDouble();
System.out.println("请输入每年发放的退休金额:");
double payment=in.nextDouble();
System.out.println("请输入利率(%):");
double rate=in.nextDouble();
double balance=0;
double insert=0;
int years=0;
while(balance<goal){
insert=payment*(rate/100);
balance+=insert;
years++;
}
System.out.println(years);
}
}
运行结果:
我当时写这个代码的时候就把if与while混淆了,但是if是一个判断语句,而while是循环语句。
if(条件成立){
如果条件成立的话就执行这里面的,只执行一次。 }
while(条件成立){
只要条件成立,就一直循环执行这里面的代码,一直到条件不成立。或者不想循环的话就break;跳出循环。 } while循环语句首先检测循环条件,所以,循环体中的代码可能不被执行。
do while语句
do{ 先执行一次语句,再判断是否满足while里面的条件,如果满足,则继续执行,如果不满足,则跳出循环
}
While(条件);上面程序的计算过程也可以用do while语句来实现:
do{
insert=payment*(rate/100);
balance+=insert;
years++;
}
while(balance<goal);
输出的结果是一样的。
for语句(初始化计数器;判断条件;计数器更新)若判断条件成立,则执行for循环后面的语句,然后更新计数器,如果判断条件不成立,则跳出循环。特别指出,for语句内定义的变量不能再循环体外用。For循环语句只不过是while循环的一个简化的形式,如:for(int x=0;i<10;i++){ System.out.println(“”); }可以重写为:int i=0;
While(i<10){
System.out.pritln(“”);
i++;}
例子:设计一个程序用来计算抽奖中将的概率。例如,必须从1-50之间的数字中抽取6个数字来抽奖,那么久会有(50*49*48*47*46*45)/(1*2*3*4*5*6)种可能的结果,所以中奖的概率是1/15890700.
import java.util.*;
public class Example {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入你要抽取的数字的个数:");
int k=in.nextInt();
System.out.println("请输入你可以抽取的最大数字:");
int n=in.nextInt();
int probability=1;
for(int i=1;i<k;i++){
probability=probability*(n-i+1)/i;
}
System.out.println("你中奖的概率为:"+probability);
}
}