【题目1】
1.解题思路和步骤:(1)首先要导入Scanner模块,创建Scanner对象,在这里我增加了一个while循环,定义一个变量并赋值一个不是1的数,使它成为循环条件(select!=1),并且添加了一个选择给用户(是否退出,是则输入1赋值给select这样循环就会停止,停止前关闭Scanner)。(2)创建变量score,将输入的数字赋值给变量score。(3)使用if...else if语句,如果输入的值在<60范围为不及格(这里加上>=0的条件确保输入的值符合分数规则),以此类推...这里注意的是,在判断为优的时候同样加上<=100。(3)而最后一个则使用else语句是用来判断输入的值是否符合分数规则,否则就输出“录入成绩无效”的字样。
2.实现代码:
package java_project;
import java.util.Scanner;
public class Score {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int select=2;
while(select!=1) {
System.out.println("请输入学生成绩:");
int score=scanner.nextInt();
if(score>=0 && score<60) {
System.out.println("该学生成绩不及格!");
}
else if(score>=60 && score<70) {
System.out.println("该学生成绩及格!");
}
else if(score>=70 && score<80) {
System.out.println("该学生成绩为中等!");
}
else if(score>=80 && score<90) {
System.out.println("该学生成绩良好!");
}
else if(score>=90 && score<=100) {
System.out.println("该学生成绩优秀!");
}
else {
System.out.println("录入成绩无效!");
}
System.out.println("是否要退出:1.是 2.不是");
select=scanner.nextInt();
if(select==1) {
scanner.close();
break;
}
}
}
}
结果截图:
【题目2】
1.解题思路和步骤:(1)首先创建二维数组arr,通过数组建立一个矩阵模型。(2)通过设置变量i,j对数组进行遍历,每行遍历完,输出一个换行符(“\n”),这样就能输出一个和题目一样的矩阵了。(3)通过观察,不难发现,对角线所在的元素位置最简单的就是arr[0][0],arr[1][1],arr[2][2],arr[3][3],那就是当k=l咯(这里为了不与上面遍历数组是使用的i,j相同,使用k,l遍历数组)。(4)但还有几个数是arr[0][3],arr[1][2],arr[2][1],arr[3][0],这样也可以看出来,k+l=3,因此我们再判断的时候使用或逻辑运算,当k=l或k+l=3就进行sum+=arr[k][l]累加运算,这样就算出来了对角线之和。
2.实现代码:
package java_project;
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner sanner=new Scanner(System.in);
int sum=0; //对角线之和
int[][] arr= {{1,2,3,4},{5,6,7,8},{8,7,6,5},{4,3,2,1}};
int i,j;
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
System.out.print(arr[i][j]);
}
System.out.print("\n");
}
//计算对角线之和
for (int k=0;k<4;k++) {
for (int l=0;l<4;l++) {
if(k==l || (k+l)==3) {
sum+=arr[k][l];
}
}
}
//对角线之和
System.out.println("对角线之和为:"+sum);
}
}
运行结果截图: