8.8小白学习二维数组
public class Erwei
{
public void func1(){
//定义二维数组
int[][] array={{1,2},{3,4,5,6},{7,8,9,10,11}};
//打印值
for (int i=0;i<array.length ;i++ )
{
for (int j=0;j<array[i].length;j++ )
{
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
public static void main(String[] args){
Erwei tc =new Erwei();
tc.func1();
}
};
第二种方式是当你设置3行但是不确定自己需要多少列的元素可以这样定义。
public class ArraryTest8
{
int [][] a =new int [3][4];
int [][] b ={
{1,2,3,4},
{11,22,33,44},
{55,77,88,100}
};
//二维数组不确定可以不写
int [][]c=new int[][]{
{1,2,3,4},
{100,200,400},
{222,111,333,444},
};
int [][] arr1 =new int[3][];
//动态申请二维数组列
//这是在第一行创建4列
arr1[0] =new int[4];
arr1[0][0]=123;
System.out.println(arr1[0][0]);
//在第三行动态赋值元素列
arr1[2] =new int[]{1,2,4,5,6,7};
// arr1[2] =new int[10]{1,2,4,5,6,7};
// 错误语句
System.out.println(arr1[2][3]);
}
public void func2(){
//外层循环遍历行
for(int i=0;i<b.length;i++){
//内循环遍历的是列
for (int j=0;j<b[i].length;j++ )
{
System.out.print(b[i][j]+"\t");
}
//换行
System.out.println();
}
}
public void func1(){
a[0][0]=100;
a[0][1]=250;
a[0][2]=200;
a[0][3]=400;
a[1][0]=270;
a[1][1]=280;
a[1][2]=230;
a[1][3]=220;
a[2][0]=270;
a[2][1]=280;
a[2][2]=230;
a[2][3]=220;
System.out.println(a[1][2]);
System.out.println(b[2][2]);
}
public static void main(String[] args){
ArraryTest8 tc = new ArraryTest8();
//tc.func1();
//tc.func2();
tc.func3();
}
};
public class ArraryTest9
{
int [][] b ={
{95,72,83,64},
{100,92,42,70},
{55,77,88,100,77,99}
};
public void func3(){
//计算所有学生的总成绩和平均成绩
int sum1 =0;
int pin1 =0;
for(int i=0;i<b.length;i++){
//内循环遍历的是列
int sum =0;
int pin =0; //平均成绩
for (int j=0;j<b[i].length;j++ )
{
sum +=b[i][j];
}
pin +=(sum/b[i].length);
System.out.println("sum"+sum+"\t");
System.out.println("平均成绩为" +pin);
sum1 +=sum;
pin1 +=pin;
}
System.out.println("sum1 ="+sum1+"\t");
System.out.println("pin1 ="+(pin1/b.length)+"\t");
}
public static void main(String[] args){
ArraryTest9 tc = new ArraryTest9();
tc.func3();
}
};
public class ArraryTest9
{
int [][] b ={
{95,72,83,64},
{100,92,42,70},
{55,77,88,100,77,99}
};
public void func3(){
//计算所有学生的总成绩和平均成绩
int sum1 =0;
int pin1 =0;
for(int i=0;i<b.length;i++){
//内循环遍历的是列
int sum =0;
int pin =0; //平均成绩
for (int j=0;j<b[i].length;j++ )
{
sum +=b[i][j];
}
pin +=(sum/b[i].length);
System.out.println("sum"+sum+"\t");
System.out.println("平均成绩为" +pin);
sum1 +=sum;
pin1 +=pin;
}
//冒泡排序
for (int i =0;i<b.length ;i++ )
{
for (int j=0;j<b[i].length-1 ;j++ )
{
for (int k=0;k<b[i].length-1-j ;k++ )
{
int temp =0;
if(b[i][k]>b[i][k+1]){
temp =b[i][k];
b[i][k] =b[i][k+1];
b[i][k+1]=temp;
}
}
}
}
for(int i=0;i<b.length;i++){
//内循环遍历的是列
for (int j=0;j<b[i].length;j++ )
{
System.out.print(b[i][j]+"\t");
}
//换行
System.out.println();
}
System.out.println("sum1 ="+sum1+"\t");
System.out.println("pin1 ="+(pin1/b.length)+"\t");
}
public static void main(String[] args){
ArraryTest9 tc = new ArraryTest9();
tc.func3();
}
};
// Arrays类的演示
import java.util.Arrays;
public class ArrayTest7
{
int[] b = {55,95,88,100,77,99,40,82};
public void test2(){
String s1 = Arrays.toString(b);
System.out.println(s1);
}
public void test1(){
// 数组的排序
Arrays.sort(b);
//Arrays.fill(b,0);
/*
for(int i : b){
System.out.println(i);// 数组的字符串形式[55, 95, 88, 100, 77, 99, 40, 82]
}
*/
/*
40
55
77
82
88
95
99
100
*/
int index = Arrays.binarySearch(b,200);
System.out.println(index);
}
public static void main(String[] args){
ArrayTest7 at = new ArrayTest7();
at.test1();
//at.test2();
}
};