二维数组的遍历
public static boolean findValue(int[][] arr,int n){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[0].length;j++){
if(arr[i][j]==n){
return true;
}
}
}
return false;
}
public static void main(String[] args) {
int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
boolean bool=findValue(arr,num);
System.out.println(bool);
}
打印菱形
主要思想:将整个菱形分为两部分,前四行一个规律,后三行一个规律,一个控制行,一个控制列。
public static void main(String[] args) {
/**
* 将整个菱形分成两部分,前四行一个规律,后三行一个规律,一个控制行,一个控制列;
*/
// 打印菱形上半部分
for(int i=1;i<4;i++){
for(int j=4;j>=i;j--){//打印空格
System.out.print(" ");
}
for(int n=1;n<i*2;n++){//打印*
System.out.print("*");
}
System.out.println();
}//打印下半部分
for(int k=0;k<4;k++){
for(int m=0;m<=k;m++){//打印空格
System.out.print(" ");
}
for(int l=7;l>k*2;l--){//打印*
System.out.print("*");
}
System.out.println( );
}
}
打印倒三角矩阵
例:
输出以下矩阵:
100000
110000
121000
132100
143210
154321
主要思想:找到该矩阵的规律,发现:当j=0时 或i=j时,arr[i][j]=1;其他位置,同一列中,下一行较上一行多一,再利用二维数组for...each进行打印输出。
public static void main(String[] args) {
int[][] arr=new int[6][6];
for(int i=0;i<arr.length;i++){
for(int j=0;j<=i;j++){
if(j==0||j==i){
arr[i][j]=1;
}else{
arr[i][j]=arr[i-1][j]+1;
}
}
}
for(int[] brr:arr){
for(int j:brr){
System.out.print(j);
}
System.out.println();
}
}