practice03-选择结构分支结构与循环结构
1、读入一个整数,表示一个人的年龄。
如果小于6岁,则输出“儿童”,6岁到13岁,输出“少儿”;14岁到17岁,输出“青少年”;18岁到35岁,输出“青年”;36岁到50岁,输出“中年”; 50岁以上输出“中老年”。
import java.util.Scanner;
public class Task01 {
public static void main(String[] args) {
System.out.println("请输入年龄:");
Scanner input = new Scanner(System.in);
int age = input.nextInt();
isName(age);
}
public static void isName(int age) {
if (age < 6) {
System.out.println("儿童");
}
if (age > 6 && age < 13) {
System.out.println("少儿");
}
if (age > 14 && age < 17) {
System.out.println("青少年");
}
if (age > 18 && age < 35) {
System.out.println("青年");
}
if (age > 36 && age < 50) {
System.out.println("中年");
}
if (age > 50) {
System.out.println("中老年");
}
}
2、计算销售总金额
图书批发商店的某本书的零售价是26.5元/本,如果客户一次性购买100本以上(包括100本),则每本的价格打9折,如果客户一次性购买500本以上(包括500本),则每本的价格打8折并返回1000元给客户,请分别计算购买8本、150本、600本的应付金额是多少。要求购买书的数量从控制台输入。
import java.util.Scanner;
public class Task02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double book = 26.5;
System.out.println("请输入要购买几本书");
int sum = input.nextInt();
isSum(sum);
double money =input.nextDouble();
}
public static void isSum(int sum) {
if (sum > 0 && sum <= 100) {
System.out.println("您购买了"+sum+"本书,应付金额为"+sum*26.5+"元");
}
if (sum >= 100 && sum < 500) {
System.out.println("您购买了"+sum+"本书,应付金额为"+sum*26.5*0.9+"元");
}
if (sum >= 500) {
System.out.println("您购买了"+sum+"本书,应付金额为"+sum*26.5*0.8+1000+"元");
}
}
}
3、读入一个表示年份的整数,判断这一年是否是闰年。如何判断一个年份 是否是闰年:
3.1 如果这个年份能够被4 整除,且不能被100 整除,则这一年是闰年。例如,1996 年是闰年,而相应的,1993 年就不是闰年。
3.2 如果这个年份能够被100 整除,则这个数必须要能被400 整除,才是闰年。例如,2000 年是闰年,1900 年不是闰年。
import java.util.Scanner;
public class Task03 {
public static void main(String[] args) {
System.out.println("请输入年份");
Scanner input = new Scanner(System.in);
int year = input.nextInt();
if ((year % 4 == 0 && year % 100 != 0)||(year % 100 == 0 && year % 400 == 0)) {
System.out.println("这一年是闰年");
}else {
System.out.println("这一年不是闰年");
}
}
}
4、代码如下,运行完成之后的结果是:10是偶数。横线处补全代码
public class Test{
public static void main(String[] args){
int a=10;
if(____________){
System.out.println(a+"是偶数");
}
}
}
10 % 2 == 0
5、以下代码运行结果?
public static void main(String[] args) {
boolean flag = false;
int num = 10;
if (flag){
num++;
}
num++;
if(num < 11){
System.out.println("天⽣我材必有⽤");
if (num > 5){
System.out.println("千⾦散尽还复来");
}
}
System.out.println("饿了么?");
}
饿了么?
6、读入一个整数,如果是1~5 之间,则分别输出5个福娃的名字,否则输出“北京欢迎你”。
import java.util.Scanner;
public class Task04 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("贝贝");
break;
case 2:
System.out.println("晶晶");
break;
case 3:
System.out.println("欢欢");
break;
case 4:
System.out.println("莹莹");
break;
case 5:
System.out.println("妮妮");
break;
default:
System.out.println("北京欢迎你");
break;
}
}
}
7、读入一个整数或字符,代表季度,输出以下内容。
第一季度:3-5月(春季)
第二季度:6-8月(夏季)
第三季度:9-11月(秋季)
第四季度:12-2月(冬季)
import java.util.Scanner;
public class Task05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输⼊月份:");
int month = scanner.nextInt();
switch (month) {
case 3:
case 4:
case 5:
System.out.println("第一季度:3-5月(春季)");
break;
case 6:
case 7:
case 8:
System.out.println("第二季度:6-8月(夏季)");
break;
case 9:
case 10:
case 11:
System.out.println("第三季度:9-11⽉(秋季)");
break;
case 12:
case 1:
case 2:
System.out.println("第四季度:12-2月(冬季)");
break;
default:
System.out.println("输入错误!");
break;
}
}
}
8、以下代码运行结果为?简述原因?
public static void main(String[] args){
int a = 20;
if(a == 20){
int b = 30;
}
int b = 40;
System.out.println(b);
}
40
9、如果是男生送名牌手表,否则送lv包包
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
System.out.println("请输入:(男生/女生)");
Scanner input = new Scanner(System.in);
String sex = input.next();
gift(sex);
}
public static void gift(String sex) {
if (sex.equals("男生")) {
System.out.println("送名牌手表");
} else if(sex.equals("女生")){
System.out.println("送lv包包");
}else {
System.out.println("请输入合法值");
Scanner input = new Scanner(System.in);
String isSex = input.next();
gift(isSex);
}
}
}
10、输入四个季节:如果春天,输出“春暖花开”,如果是夏天,输出“夏日炎炎”,如果是秋天,则输出"秋高气爽",如果是冬天,则输出"银装素裹"。
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
System.out.println("请输入季节:");
Scanner input = new Scanner(System.in);
String season = input.next();
if (season.equals("春天")||season.equals("夏天")||season.equals("秋天")||season.equals("秋天")) {
if(season.equals("春天")) {
System.out.println("春暖花开");
}
if (season.equals("夏天")) {
System.out.println("夏日炎炎");
}
if (season.equals("秋天")) {
System.out.println("秋高气爽");
}
if (season.equals("冬天")) {
System.out.println("银装素裹");
}
}else {
System.out.println("请输入合理的季节!!!");
}
}
}
11、我想买车,买什么车决定于我在银行有多少存款
如果我的存款超过500万,我就买保时捷
否则,如果我的存款超过100万,我就买路虎
否则, 如果我的存款超过50万,我就买宝马
否则, 如果我的存款超过10万,我就买大众
否则, 如果我的存款10万以下 ,我买捷安特
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
System.out.println("存款共有:(单位:万元)");
Scanner input = new Scanner(System.in);
double money = input.nextDouble();
if (money >= 500) {
System.out.println("买保时捷");
}
if (money >= 100 && money < 500) {
System.out.println("买路虎");
}
if (money >= 50 && money < 100) {
System.out.println("买宝马");
}
if (money >= 10 && money < 50) {
System.out.println("买大众");
}
if (money < 10) {
System.out.println("买捷安特");
}
}
}
1、计算1+2+3+...+100 的和
public class Task06 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum +=i;
}
System.out.println("1+2+3+...+100 的和是:"+sum);
}
}
2、计算1+3+5+...+99 的和
public class Task07 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i < 100; i++) {
if (i % 2 != 0) {
sum +=i;
}
}
System.out.println("1+3+5+...+99 的和是:"+sum);
}
}
3、把1、2 两题用while 循环或do...while 循环改写。
public class Task08 {
public static void main(String[] args) {
int i = 1,j = 1,m = 1,n = 1;
int sum1 = 0,sum2 = 0,sum3 = 0,sum4 = 0;
while (i <= 99) {
sum1 += i;
i += 2;
}
System.out.println("1+3+5+...+99 的和用while计算:"+sum1);
do {
sum2 += j;
j += 2;
} while (j <= 99);
System.out.println("1+3+5+...+99 的和用do while计算:"+sum2);
while (m <= 100) {
sum3 += m;
m++;
}
System.out.println("1+3+5+...+100 的和用while计算:"+sum3);
do {
sum4 += n;
n++;
} while (n <= 100);
System.out.println("1+3+5+...+100 的和用do while计算:"+sum4);
}
}
4、读入一个小于10的整数n,输出它的阶乘n。
import java.util.Scanner;
public class Task09 {
public static void main(String[] args) {
System.out.println("请输入一个小于10的整数:");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
int n = 1;
for (int i = 1; i <= num; i++) {
n *= i;
}
System.out.println(num+"的阶乘是:"+n);
}
}
5、求100 以内所有能被3 整除但不能被5 整除的数字的和。
public class Task10 {
public static void main(String[] args) {
int sum = 0;
for (int i = 3; i <= 100; i+=3) {
if (i % 5 != 0) {
System.out.println("100 以内所有能被3 整除但不能被5 整除的数字为"+i);
sum += i;
}
}
System.out.println("他们的和是:"+sum);
}
}
6、编程找出四位整数abcd 中满足 (ab+cd)(ab+cd)=abcd 的数。
public class Task11 {
public static void main(String[] args) {
for (int i = 1000; i <=9999; i++) {
int f_2 = i / 100;
int l_2 = i % 100;
int num = 0;
if ( (f_2+l_2)*(f_2+l_2) == i) {
System.out.println(i);
}
}
}
}
7、输出99 乘法表。
public class Task12 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <=i; j++) {
//列*行
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
8、计算2000年1月1日到2008年1月1日相距多少天。(注意闰年)
public class Task13 {
public static void main(String[] args) {
int count = 0,sum = 0;
for (int i = 2000; i < 2008; i++) {
if ((i % 4 == 0 && i % 100 != 0)||(i % 100 == 0 && i % 400 == 0)) {
count++;
}
sum = count*366+(8-count)*365;
}
System.out.println("2000年1月1日到2008年1月1日相距"+sum+"天");
}
}
9、读入一个整数n,输出如下图形
n = 3
*
***
*****
n = 4
*
***
*****
*******
思路:
9.1 读入的整数n,就是外层循环的循环次数。
9.2 对于每一行,要做的事情:
9.2.1 输出若干个空格;
9.2.2 输出若干个星;
9.2.3 换行。
提示:输出不换行,⽤System.out.print()。
import java.util.Scanner;
public class Task14 {
public static void main(String[] args) {
System.out.println("请输入n的值:(3 or 4)");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
if (n == 3 || n == 4) {
if (n == 3) {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
} else {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
} else {
System.out.println("请在3和4之间选择!!!");
}
}
}
10、求水仙花数。
提示:所谓水仙花数,是指一个三位数abc,如果满⾜a³+b³+c³=abc,则abc是水仙花数。
import java.util.Scanner;
public class Task15 {
public static void main(String[] args) {
/*
System.out.println("请输入一个三位数");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100;
if (num > 0 && num <= 999) {
if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) == num) {
System.out.println("这个三位数是水仙花数");
}else {
System.out.println("这个三位数不是水仙花数");
}
} else {
System.out.println("请输入合理的数值!!!");
}
*/
for (int num = 100; num <= 999; num++) {
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100;
if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) == num) {
System.out.println(num);
}
}
}
}

浙公网安备 33010602011771号