1.计算成绩和人数
由用户输入多个学员成绩,当输入-1时结束循环,输出一共输入多少人,和输入的这些学员的总分数,不能把-1加进去
/*
//非固定次数循环while 和 do-while
任务一: 计算成绩和人数。
由用户输入多个学员成绩,当输入-1时结束循环,
输出一共输入多少人,和输入的这些学员的总分数,
不能把-1加进去。
*/
//法1---------
import java.util.Scanner;
public class Demo2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int score ;//成绩
int sum = 1;//总成绩
int count = 0;//循环码
int count2 = -1;//人数统计,-1是因为输入-1需要被记一次数
do{
System.out.println("请输入成绩:");
score = input.nextInt();
count2 ++;
sum += score;
if (score == -1)
{ count = -1;//跳出循环
}
}
while (count != -1);
System.out.println("总成绩"+sum+"一共有"+count2+"个学生");
}
}
//法二--------------
Scanner input = new Scanner(System.in);
int score ;
int count = 0;
int sum = 0;
do {
System.out.println("输入成绩:");
score = input.nextInt();
if(score == -1) {
break;
}
count ++;
sum += score;
}while(score != -1);
System.out.println(sum+","+count);
2.查询商品价格并计算总金额
循环输入商品编号,显示对应的商品价格,输入“n”结束循环 ,
并计算总金额。
/*
任务二:查询商品价格,计算金额
循环输入商品编号,显示对应的商品价格,
输入“n”结束循环 ,
并且计算金额。
*/
//法一:while switch-----------------
import java.util.Scanner;
public class Demo4{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int score;//编号
int sum = 0;//总金额
String sw = "y";//是否继续
System.out.println("***********商品**********");
System.out.println("1.T恤;2.网球鞋 3.网球拍");
System.out.println("*************************");
while (!sw.equals("n")){
System.out.println("请输入编号:");
score = input.nextInt();
switch (score)
{
case 1:
System.out.println("T恤: ¥245");
System.out.println("是否继续(y/n)");
sw = input.next();
sum += 245;
break;
case 2:
System.out.println("网球鞋 ¥570");
System.out.println("是否继续(y/n)");
sw = input.next();
sum += 570;
break;
case 3:
System.out.println("网球拍 ¥380");
System.out.println("是否继续(y/n)");
sw = input.next();
sum += 380;
break;
}
}
System.out.println("总金额:"+sum);
System.out.println("程序结束");
}
}
//法二:do while,switch--------
Scanner superman = new Scanner(System.in);
int productNo ;
String next;
double sum = 0;
System.out.println("***********商品***********");
System.out.println(" 1.T恤;2.网球鞋;3.网球拍;");
System.out.println("*****************************");
do{
System.out.print("输入编号:");
productNo = superman.nextInt();
switch(productNo){
case 1:
System.out.println("T恤\t¥245");
sum = sum + 245;
break;
case 2:
System.out.println("网球鞋\t¥570");
sum = sum + 570;
break;
case 3:
System.out.println("网球拍\t¥380");
sum = sum + 380;
break;
default:
System.out.println("输入错误!");
break;
}
System.out.print("是否继续(y/n):");
next = superman.next();
}while(next.equals("y"));
System.out.println("总金额:"+sum);
3.输出摄氏温度与华氏温度的对照表
任务四:
输出摄氏温度与华氏温度的对照表,
要求它从摄氏温度0度到250度,每隔20度为一项,
对照表中的条目不超过10条。
转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32
//do-while-----------
public class Demo5 {
public static void main(String[] args) {
int s = -20;
double hua;
do{
s += 20;
hua = s*9/5.0+32;
System.out.println("摄氏温度:"+s+"华氏温度:"+hua);
}
while (s < 240);
}
}
4.输入年月日,输出此日期是一年中的第几天,判断平年和闰年的情况
输入年月日,输出此日期是一年中的第几天,判断平年和闰年的情况。
使用知识点:switch、循环。
import java.util.Scanner;
public class Demo6{
public static void main(String[] args){
int y,m,d;
int sum = 0;
int run;
boolean tag;
Scanner input = new Scanner(System.in);
System .out.println("请输入年:");
y = input.nextInt();
System .out.println("请输入月:");
m = input.nextInt();
System .out.println("请输入日:");
d = input.nextInt();
if ((y%4 == 0 && y % 100 != 0) || y% 400 == 0){
System .out.println("是闰年");
tag = true;
run = 1;
}else{
System .out.println("是平年");
tag = false;
run = 0;
}
switch (m){
case 1:
sum = d;//31
break;
case 2:
sum = d+run+31;//28
break;
case 3:
sum = d+run+59;//31
break;
case 4:
sum = d+run+90;//30
break;
case 5:
sum = d+run+120;//31
break;
case 6:
sum = d+run+151;//30
break;
case 7:
sum = d+run+181;//31
break;
case 8:
sum = d+run+212;//31
break;
case 9:
sum = d+run+242;//30
break;
case 10:
sum = d+run+273;//31
break;
case 11:
sum = d+run+303;//30
break;
case 12:
sum = d+run+333;//31
break;
}
System.out.print(y+"年"+m+"月"+d+"日是");
System.out.print("这一年的第"+sum+"天");
}
}