1.
已知二维数组数据 int[][] nums={{1,2,3},{4,5,6},{7,8,9}};输出所有数据。
/*
* 给定一个数组,对数组使用冒泡排序进行降序排序
*/
public class num1 {
public static void main(String[] args) {
//给定数组;
int[] a = {1,2,3,4,5,6};
//冒泡排序;
for(int k=0;k<a.length-1;k++) {
//定义标记量;
boolean flag = true;
for(int i=0;i<a.length-1-k;i++) {
//降序
if(a[i]<a[i+1]) {
int t = a[i];
a[i] = a[i+1];
a[i+1] = t;
flag = false;
}
}
if(flag) {
break;
}
}
//遍历输出数组测试
for(int n:a) {
System.out.print(n+" ");
}
}
}
2.
定义一个4行4列的二维数组,逐个从键盘输入值,然后将第1行和第4行的数据进行交换,将第2行和第3行的数据进行交换
/*
* 已知二维数组数据 int[][] nums={{1,2,3},{4,5,6},{7,8,9}};输出所有数据。
*/
public class num2 {
public static void main(String[] args) {
//定义数组;
int[][] nums = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
//遍历输出数组元素;
for (int i = 0; i <= nums.length - 1; i++) {
for (int j = 0; j <= nums[i].length - 1; j++) {
System.out.println("a[" + i + "][" + j + "]=" + nums[i][j]);
}
}
}
}
3.
定义一个N*N二维数组,从键盘上输入值,找出每行中最大值组成一个一维数组并输出
import java.util.Scanner;
/*
* 定义一个4行4列的二维数组,逐个从键盘输入值,然后将第1行和第4行的数据进行交换,将第2行和第3行的数据进行交换
*/
public class num3 {
@SuppressWarnings("resource")
public static void main(String[] args) {
//定义一个4*4二维数组,使用循环键入值;
int[][] nums = new int[4][4];
for (int i = 0; i <= nums.length - 1; i++) {
for (int j = 0; j <= nums[i].length - 1; j++) {
Scanner in = new Scanner(System.in);
System.out.print("请输入a[" + i + "][" + j + "]:" );
nums [i][j] = in.nextInt();
}
System.out.println("");
}
//交换数据;
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums[i].length; j++) {
//第一行数据和第四行数据交换;
if (i == 0) {
int temp = nums[i][j];
nums[i][j] = nums[3][j];
nums[3][j] = temp;
//第二行数据和第三行数据交换;
} else if (i == 1) {
int temp = nums[i][j];
nums[i][j] = nums[2][j];
nums[2][j] = temp;
}
}
}
//遍历输出数组nums测试;
for (int i = 0; i <= nums.length - 1; i++) {
for (int j = 0; j <= nums.length - 1; j++) {
System.out.println("a[" + i + "][" + j + "]=" + nums[i][j]);
}
}
}
}
4.
打印杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
实现键盘录入指定行数
a[i][j] = a[i-1][j]+a[i-1][j-1];
import java.util.Scanner;
/*
* 打印杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
实现键盘录入指定行数
a[i][j] = a[i-1][j]+a[i-1][j-1];
*/
public class num5 {
public static void main(String[] args) {
//杨辉三角每一行头尾为1,本行除头尾之外的每个数分别等于前一行的本列加前一列的数值之和;
Scanner in = new Scanner(System.in);
System.out.println("请输入想要输出的行数:");
int n = in.nextInt();
//定义一个长度为n的二维数组
int[][] a = new int[n][];
for(int i=0;i<a.length;i++) {
a[i] = new int[i+1];
//给a[i]这个一维数组中的各个元素赋值
for(int j=0;j<a[i].length;j++) {
if(j==0 || j==a[i].length-1) {
a[i][j] = 1;
}else {
a[i][j] = a[i-1][j]+a[i-1][j-1];
}
}
}
//输出杨辉三角
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
in.close();
}
}