关于检索图书出现的问题

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

```java
package TM_sl_10;

import java.util.Scanner;

public class Test7 {
    public static void main(String[] args) {
        System.out.println("请输入您要搜索的书名或关键字:");
        Scanner scanner = new Scanner(System.in);
        String[][] books = {{"《Java》", "《Javaweb》", "《C语言》", "《C++》", "《Linux C》"}, {"《论语》", "《资治通鉴》", "《四十二经章》", "《史记》", "《" +
                "隋唐史》"}};
        while (true) {
            String str = scanner.nextLine();
            boolean s = false;
            System.out.println("-------------------搜索结果--------------------");
            for (int i = 0; i < books.length; i++) {
                for (int j = 0; j < books[i].length; j++) {
                    if (books[i][j].contains(str))
                        System.out.println(books[i][j] + ":第" + (i + 1) + "个书柜里的第" + (j + 1) + "本书");
                    s = true;
                    break;
                }
            }
            if (s == false)
                System.out.println("未找到此书");
            System.out.println("请输入您要搜索的书名或关键字:");
        }
    }
}

问题:现在就是我输入信息并不打出查询到了书

```

1)要多打大括号,直接给你代码

public static void main(String[] args) {
        t();
    }

    private static void t(){
        System.out.println("请输入您要搜索的书名或关键字:");
        Scanner scanner = new Scanner(System.in);
        String[][] books = {{"《Java》", "《Javaweb》", "《C语言》", "《C++》", "《Linux C》"}, {"《论语》", "《资治通鉴》", "《四十二经章》", "《史记》", "《" +
                "隋唐史》"}};
        while (true) {
            String str = scanner.nextLine();

            if(str.equals("q")) {
                System.out.println("成功推出");
                break;
            }

            boolean s = false;
            System.out.println("-------------------搜索结果--------------------");
            for (int i = 0; i < books.length; i++) {
                for (int j = 0; j < books[i].length; j++) {
                    if (books[i][j].contains(str)) {
                        System.out.println(books[i][j] + ":第" + (i + 1) + "个书柜里的第" + (j + 1) + "本书");
                        s = true;
                        break;
                    }
                }
            }
            if (!s) {
                System.out.println("未找到此书");
            }
            System.out.println("请输入您要搜索的书名或关键字:");
        }
    }

2)运行结果

img

初学建议不少省略大括号,出现问题你不好排查。稍微改了下,你看看运行结果是不是你想要的。

img


for (int j = 0; j < books[i].length; j++) {
                    if (books[i][j].contains(str)) {
                        System.out.println(books[i][j] + ":第" + (i + 1) + "个书柜里的第" + (j + 1) + "本书");
                        s = true;
                        break;
                    }
                }

你的意思-----也就是说输入信息,明明有书,但是没查询到?还是别的?麻烦你重新补发一下问题

看你的代码是 二维数组存放数据,然后查询书,并指出书的位置