项目一 Java语法基础
一、实验内容及要求
1.由命令行输入一个成绩,使用条件分支结构语句求出成绩的等级。
要求效果:A:90-100;B:80-89;C:70-79;D:60-69;E:0-59。
package shiyan;
import java.util.Scanner;
public class text1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入成绩(输入-1退出): ");
int score = scanner.nextInt();
if (score == -1) {
System.out.println("程序结束。");
break;
}
if (score >= 90 && score <= 100) {
System.out.println("成绩等级:A");
} else if (score >= 80 && score <= 89) {
System.out.println("成绩等级:B");
} else if (score >= 70 && score <= 79) {
System.out.println("成绩等级:C");
} else if (score >= 60 && score <= 69) {
System.out.println("成绩等级:D");
} else if (score >= 0 && score <= 59) {
System.out.println("成绩等级:E");
} else {
System.out.println("无效的成绩,请重新输入。");
}
}
scanner.close();
}
}
2.利用以下两种循环结构实现1~10阶乘之和。
for循环和while循环。
package shiyan;
import java.util.Scanner;
public class text1_2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数 n:");
int n = scanner.nextInt();
long sum = 0;
long factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i; // 计算阶乘
sum += factorial; // 累加阶乘之和
}
System.out.println("1到" + n + "的阶乘之和为: " + sum);
scanner.close();
}
}
3.在屏幕上打印出n行的金字塔图案。
package shiyan;
import java.util.Scanner;
public class text1_3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入金字塔的行数(输入-1退出): ");
int n = scanner.nextInt();
if (n == -1) {
System.out.println("程序结束。");
break;
}
printPyramid(n);
}
scanner.close();
}
static void printPyramid(int n) {
for (int i = 1; i <= n; i++) {
// 打印空格
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
// 换行
System.out.println();
}
}
}
二、总结或实验体会
在上述的程序中,涉及到了一些基本的Java编程概念,包括循环结构、条件语句、用户输入处理等。以下是一些总结和实验体会:
1、循环结构的应用:
(1)使用for循环和while循环可以根据具体的需求选择不同的循环结构。for循环通常在循环次数已知的情况下使用,而while循环适用于条件依赖的情况。
条件语句的使用:
(2)条件语句(if-else)被用于根据不同的条件执行不同的代码块。在成绩等级程序中,根据不同的分数范围输出不同的等级。
用户输入处理:
(3)使用Scanner类来处理用户输入,这是一种基本的从命令行获取输入的方式。在实际应用中,可以使用更复杂的用户输入处理机制,例如使用图形用户界面(GUI)或读取文件中的输入。
2、模块化编程:
(1)将功能划分为独立的方法或函数,提高了代码的可读性和可维护性。例如,将金字塔打印功能封装在printPyramid方法中,使得主程序更加简洁。
无限循环和退出机制:
(2)使用无限循环(while(true))允许程序反复执行,通过特定的输入条件(如-1)来退出循环,这是一个常见的控制流程。