Java的简单两道编程题(适合初学者)

【题目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);
	}
}

运行结果截图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值