第二周java作业
题目1:求一个n阶方阵对角线元素之和
代码:
import java.util.Scanner;
public class Matrix{
public static void main(String args[]){
int n; //n的值是可以随时改变的
int sum=0;
Scanner reader=new Scanner(System.in);
n=reader.nextInt();
int[][] a=new int[n][n];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
a[i][j]=reader.nextInt();
for(int i=0;i<n;i++)
for(int j=0;j<n;j++){
if(i==j){
sum+= a[i][j];}
}
System.out.println("对角线之和为:"+sum);
}
题目2:
输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
代码:
import java.util.Scanner; //使用输入语句可以直接用import.java.util.*包含了所有的函数
public class Change{
public static void main(String[] args){
int n;
int max;
int min;
int t=0;
Scanner reader=new Scanner(System.in);
n=reader.nextInt();
int []a=new int[n];
for(int i=0;i<a.length;i++)
a[i]=reader.nextInt();
max=a[0];
min=a[n-1];
for(int i=1;i<a.length-1;i++){
if(a[0]<a[i]){
t=a[0]; // 两两交换的时候应该用t这个中间变量来进行交换
a[0]=a[i];
a[i]=t;}
}
for(int i=1;i<a.length-1;i++){
if(min>a[n-1]){
t=a[n-1];
a[n-1]=a[i];
a[i]=t;
}
}
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
}
总结:
这一次的作业主要对数组进行练习,1.要注意数组的定义和赋值,java中的数组定义和c语言中的定义有一定的区别
c语言中数组赋值int a[n];
java中的数组赋值int [] a=new int [n];
2.使用输入函数的时候一定要加上头文件