1. 编写程序接受用户输入的一个表示月份的整数,若用户输入了从1到12以外的整数则提示“输入有误”,输出对应月份的天数。
提示1:可暂不考虑闰年,以2月份为28天来实现
提示2:可以使用if或switch实现,体会选择分支的构造
package project;
import java.util.Scanner;
public class MontDays {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入月份(1-12):");
int month = scanner.nextInt();
int days = 31;
if (month < 1 || month > 12) {
System.out.println("输入有误");
System.exit(0);
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else if (month == 2) {
// 可暂不考虑闰年,以2月份为28天来计算
days = 28;
}
System.out.println(month + "月有" + days + "天");
}
}
2. 编写程序接受用户输入多个整数,当用户输入的整数为0时显示已输入所有整数的平均值并结束程序。
package project;
import java.util.Scanner;
public class AverageCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int count = 0;
while (true) {
System.out.print("请输入一个整数(输入0结束):");
int number = scanner.nextInt();
if (number == 0) {
break;
}
sum += number;
count++;
}
if (count > 0) {
double average = (double) sum / count;
System.out.println("已输入的整数的平均值为:" + average);
} else {
System.out.println("没有输入整数");
}
}
}
3. 编写程序接受用户输入的10个整数,通过一维数组存放比较并输出其中的最大值和最小值。
package project;
import java.util.Scanner;
public class MinAndMaxFinder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] numbers = new int[10];
System.out.println("请输入10个整数:");
for (int i = 0; i < 10; i++) {
System.out.print("请输入第" + (i + 1) + "个整数:");
numbers[i] = scanner.nextInt();
}
int max = numbers[0];
int min = numbers[0];
for (int i = 1; i < 10; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
if (numbers[i] < min) {
min = numbers[i];
}
}
System.out.println("最大值为:" + max);
System.out.println("最小值为:" + min);
}
}
4. 编写程序求满足1 + 2! + 3! + ... + n! <= 9876的最大整数n。
package project;
public class FactorialSum {
public static void main(String[] args) {
int sum = 0;
int n = 1;
while (sum <= 9876) {
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
sum += factorial;
n++;
}
System.out.println("满足条件的最大整数n为:" + (n - 2));
}
}
5. 编写程序输出九九乘法表。
提示:注意输出控制符的使用,控制输出的排版
package project;
public class MultiplicationTable {
public static void main(String[] args) {
// 输出表格
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.printf("%d*%d=%2d ", j, i, i * j);
}
System.out.println();
}
}
}
6. 编写程序接受用户输入两次1到9的数值,查询九九乘法表得到的乘积。
提示:可以使用二维数组
package project;
import java.util.Scanner;
public class MultiplicationTable2 {
public static void main(String[] args) {
int[][] table = new int[9][9];
// 填充九九乘法表
for (int i = 0; i < 9; i++) {
for (int j = 0; j <= i; j++) {
table[i][j] = (i + 1) * (j + 1);
}
}
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个数值(1-9):");
int num1 = scanner.nextInt();
System.out.print("请输入第二个数值(1-9):");
int num2 = scanner.nextInt();
if (num1 < 1 || num1 > 9 || num2 < 1 || num2 > 9) {
System.out.println("输入的数值超出范围!");
} else {
int result = table[Math.max(num1, num2) - 1][Math.min(num1, num2) - 1];
System.out.printf("%d * %d = %d\n", num1, num2, result);
}
scanner.close();
}
}
7. 为节约用电,某市将用户用电量分成3个区间,针对不同的区间给出不同的收费标准。对于1至90千瓦时(度)的电量,每千瓦时0.6元;对于91至150千瓦时的电量,每千瓦时1.1元;对于用大于151千瓦时的电量,每千瓦时1.7元。编写程序接受用户输入用电量并输出应缴电费。
package project;
import java.util.Scanner;
public class ElectricityBill {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入用电量(单位:千瓦时):");
double electricity = scanner.nextDouble();
double bill = 0.0; // 初始化电费
if (electricity <= 90) {
bill = electricity * 0.6;
} else if (electricity > 90 && electricity <= 150) {
bill = 90 * 0.6 + (electricity - 90) * 1.1;
} else if (electricity > 150) {
bill = 90 * 0.6 + 60 * 1.1 + (electricity - 150) * 1.7;
}
System.out.printf("应缴电费:%.2f 元\n", bill);
scanner.close();
}
}
8. 假设某个大学今年的学费是10000元,并且以每年7%的速度增加,计算多少年之后学费会翻倍。
package project;
public class Tuition {
public static void main(String[] args) {
double initialTuition = 10000; // 初始学费
double annualIncreaseRate = 0.07; // 年增长率
double targetTuition = initialTuition * 2; // 翻倍后的学费
int years = 0; // 初始年数
while (initialTuition < targetTuition) {
initialTuition *= (1 + annualIncreaseRate);
years++;
}
System.out.println("学费将在" + years + "年后翻倍");
}
}
标签:Java,Scanner,int,System,程序设计,out,public,输入,分支
From: https://blog.csdn.net/weixin_69276268/article/details/143367016