用二维数组保存99乘法表并且输入一个数查找它是否在数组中存在

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liushuai52013/article/details/78368424

package ls1501;
import java.util.Scanner;
public class Demo {
final static int LEN = 9;
public static void main(String[] args) {
int arr [][] = new int[LEN][LEN];//定义9行9列二维数组;

    fillArr(arr);//调用fillArr方法,填充99乘法表

    for(int i = 0 ; i < LEN ; i ++) {//输出9行
        for(int j = 0; j <= i; j ++ ) {//输出j <= i列
            System.out.print(arr[i][j] + " ");//打印a[i][j]
        }
        System.out.println();//输出一行之后换行
    }

    Scanner input = new Scanner(System.in); //从控制端输入一个数
    System.out.print("请输入需要查找的数:");
    int num = input.nextInt();//输入你要查找的数
    if(findNum(arr,num)) {//调用findNum方法判断输入的数是否存在,true 存在,false 不存在
        System.out.println("你查找的数存在!!!");
    }
    else {
        System.out.println("你查找的数不存在!!!");
    }



}

static void fillArr(int arr[][]) {
    for(int i = 0 ; i < LEN ; i ++) {
        for(int j = 0 ;j < LEN ;j ++)
            if(j <= i) {
                arr[i][j] = (i + 1)*(j + 1);//把99乘法表的结果存入二维数组
            }
    }
}

static boolean findNum(int arr[][],int num) {
    boolean     flag = false;
    for(int i = 0; i < LEN ; i ++) {
        for(int j = 0; j < LEN ; j ++) {
            if(arr[i][j] == num) {//遍历二维数组,判断arr[i][j]是否与num相等
                flag = true;// 相等 ,为真
                break;//退出循环
            }
            else {
                flag = false;//没有找到,为假
            }
        }
    }
    return flag;//返回findNum的结果
}

}

猜你喜欢

转载自blog.csdn.net/liushuai52013/article/details/78368424