零基础学JAVA,为什么括号出错了

教教我🙏🙏
零基础表示真的不会,抄过来的为啥出错呀
很菜,请指教(别大声嫌我蠢可以吗)

img

格式化一下,多余的括号删掉,少的就加上

【以下回答由 GPT 生成】

问题分析: 这段代码中的括号出错的原因是在while循环中缺少了一个大括号,导致循环内的代码块没有被正确包围起来。

解决方案: 在while循环的开始处添加一个左大括号 {,在循环结束前的输出语句之后添加一个右大括号 }

修正后的代码如下所示:

import java.util.Scanner;
import java.util.Arrays;

public class Example {
    public static void main(String args[]) {
        int start = 0, end;
        int a[] = {12, 45, 67, 89, 123, -45, 67};
        int N = a.length;
        int minIndex = -1;
        for (int i = 0; i < N - 1; i++) {
            minIndex = i;
            for (int j = i + 1; j <= N - 1; j++) {
                if (a[j] < a[minIndex])
                    minIndex = j;
            }
            if (minIndex != i) {
                int temp = a[i];
                a[i] = a[minIndex];
                a[minIndex] = temp;
            }
            System.out.println(Arrays.toString(a));
        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入一个整数,程序将判断该整数是否在数组中:");
        int number = scanner.nextInt();
        int count = 0;
        end = N;
        int middle = (start + end) / 2;
        while (number != a[middle]) {
            if (number > a[middle])
                start = middle;
            else if (number < a[middle])
                end = middle;
            middle = (start + end) / 2;
            count++;
            if (count > N / 2)
                break;
        }
        if (count > N / 2) {
            System.out.printf("%d 不在数组中。\n", number);
        } else {
            System.out.printf("%d 在数组中。\n", number);
        }
    }
}

修正后的代码已经添加了缺少的大括号,现在应该可以正常执行了。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

我把你的代码重新敲了一边,运行成功并显示输出结果,如下三图你参考一下:

img

img

img


零基础咩关系不要着急慢慢来,另外大家都是从小白成长起来的,内有人会笑话的,加油努力才是王道,建议你下载一个IntelliJ IDEA代码编辑软件来敲代码,个人感觉比较好用~祝你好运!