1.循环输入某同学S1结业考试的5门课成绩,并计算平均分
//for循环
public static void main(String[] args) { double sum=0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.next();
for (int i = 1;i < 6;i++){
System.out.print("请输入5门功课中的第"+i+"门课的成绩:");
double score = scanner.nextDouble();
sum = score + sum;
}
double avg = sum/5;
System.out.println(name+"的平均分是:"+avg);
}
2.输出如图所示加法表
//加法
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个值:");
int num = scanner.nextInt();
System.out.println("输出加法表:");
int i,j;
for ( i = 0,j = num;i <= num;i++,j--){
System.out.println(i + "+" +j + "=" +(i+j));
}
}
3. 使用while、do-while以及for循环三种编程方式实现:计算100以内(包括100)的偶数之和
//偶数和
public static void main(String[] args) {
int sum = 0;
int i = 0;
//for循环
for (i = 0;i <= 100;i++){
if (i%2 == 0){
sum = i+sum;
}
}
System.out.println("100以内偶数和为:"+sum);
//while循环
while (i<101){
i++;
if (i%2 == 0){
sum = i+sum;
}
}
System.out.println("100以内偶数和为:"+sum);
//do-while循环
do{
i++;
if (i%2 == 0) {
sum = i + sum;
}
}while (i < 101);
System.out.println("100以内偶数和为:"+sum);
}
4.(使用while循环)随机生成一个1-100之间的数字num,循环让用户输入猜这
个数,
如果用户输入的数字大于num提示输入的数字比较大,
如果用户输入的数字小于num提示输入的数字比较小,
直到用户输入的数字和num相等为止,然后输出用户猜数的总次数
public static void main(String[] args) {
Random ran = new Random();
int num = ran.nextInt(100)+1;
System.out.print("请输入一个数:");
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
int i = 0;
while (number != num){
if (number > num){
System.out.println("输入的数字比较大!");
System.out.print("请继续输入一个数:");
number = scanner.nextInt();
}else if (number < num){
System.out.println("输入的数字比较小!");
System.out.print("请继续输入一个数:");
number = scanner.nextInt();
}
i++;
}
System.out.println("随机数为:"+num+"猜对了!共猜测的次数:"+i);
}
5.(使用for循环)打印出1-100之间所有不是7的倍数和不包含7的数字,并求和
public static void main(String[] args) {
int sum = 0;
for (int i = 1;i < 101;i++){
if (i%7 != 0 && i/10%10 != 7 && i%10 != 7){
System.out.println(i);
sum = i+sum;
}
}
System.out.println("和为:"+sum);
}
6.(使用while循环)循环输入5个数,输完后显示这些数中有没有负数
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 1;
int number,a = 0;
while (i <= 5){
System.out.print("请输入一个数:");
number = scanner.nextInt();
if (number < 0){
a = number;
}
i++;
}
if (a < 0){
System.out.println("有负数");
}
}
7.(使用while循环)有一个有钱的神经病,他往银行里存钱,第一天存1元,以后每天比前一天多存50%,完成下列计算任务:他存到第几天,当天存的钱会超过10元
public static void main(String[] args) {
double money = 1;
int i = 1;
while (money < 10){
money = money*(1+0.5);
i++;
System.out.println("存"+money);
}
System.out.println("第"+i+"天,当天存的钱超过10元");
}
8. (使用for循环)一个月(30天)后,他总共存了多少钱
public static void main(String[] args) {
double money = 1,sum = 0;
int i = 1;
while (i < 30){
money = money*(1+0.5);
i++;
System.out.println("存"+money);
sum = money+sum;
}
System.out.println("第"+i+"天,存的钱共有:"+sum);
}
9.(使用do-while循环)里有一只蜗牛,他白天往上爬5米,晚上掉3.5米,井深56.7米计算蜗牛需要多少天才能从井底到爬出来
public static void main(String[] args) {
double height = 0;
int i = 0;
do {
height += 5;
if (height < 56.7) {
height -= 3.5;
}
i++;
} while (height < 56.7);
System.out.println("需要" + i + "天才能爬出井底");
}
10.(使用for循环)计算2000年1月1日到2008年1月1日相距多少天。(注意闰年366,平年365)
public static void main(String[] args) {
int day,sum = 0;
for (int i = 2000;i <= 2008;i++){
if (i%4 == 0 && i%100 != 0 || i%400 == 0){
day = 366;
}else {
day = 365;
}
sum = day + sum;
}
System.out.println("2000年1月1日到2008年1月1日相距"+sum+"天");
}