当前位置: 首页 > 知识库问答 >
问题:

气泡排序仅输出0

卞昀
2023-03-14

所以我的代码有问题。我必须编写一个程序来对一个外部文本文件进行排序(基本上是一个按随机顺序排列的随机数列表)。所以我试着按照教授的步骤去做,即使我做了,我也没有得到正确的输出。输出应该如下所示:

1 2 2 2 3 3 5 5 6 6 11 13 13 13 13 16 17 17 19 25 27 27 33 34 37 37 43 45 49 51 52 54 57 58 60 63 64 66 75 79 79 81 85 87 90 92 92 95 95 97 97 99 107 109 113 113 113 115 116 118 121 125 129 132 133 133 134 144 145 148 149 151 155 156 159 162 164 165 167 167 171 173 178 179 181 183186 186 190 191 200 203 203 203 203 204 205 206 207 207 207 208 209 209 209 210 210 215 216 217 220 220 222 223 225 228 229 230 231 233 234 235 235 238 239 242 245 251 252 253 253 268 269 309 305 308 311 321 322 323 326 333 335 338 339 340 345 349 353 353 354 355 355 355 366 366 374 376 379 379 379382 386 388 392 393 394 396 399 399 399 399 399 399 401 401 401 405 407 408 413 414 415 416 417 418 418 420 424 442 446 446 448 451 456 457 458 460 461 462 463 470 476 477 480 480 484 484 485 487 487 490 490 495 501 502 504 511 511 513 513 513 514 515 527 527 537 538 538 539 540 544 545 550 554 555 558 559 559 560 560564 567 568 568 569 571 572 574 578 580 580 580 581 581 583 583 583 585 585 585 585 585 585 585 590 591 599 604 606 614 615 616 616 617 618 625 654 654 655 659 666 666 669 672 689 690 692 692 695 698 678 678 684 684 685 687 689 690 692 692 695 678 678 684 684 687 689 690 692 692 707 707 717 717 717 719 729 730 734 736 736 740 740 749 751 752 753754 754 755 759 761 763 763 768 772 778 780 783 785 786 790 793 793 795 795 799 799 800 802 813 813 817 820 821 826 826 827 830 835 837 854 857 857 858 861 866 868 872 877 879 858 858 868 869 872 877 879 858 858 868 869 872 877 879 880 858 868 869 872 877 879 880 881 872 872 877 879 880 881 872 872 877 879 889 858 858 868 869 872 872 877 879 880 881 882 889 878 898 898 868 889 872 872 872 879 889

下面是我的代码:

import java.io.*;
import java.util.*;
public class Prog481a
{
    public static void main(String[] args) throws IOException
    {
        Scanner kbReader = new Scanner(new File("C:\\Users\\Guest\\Documents\\java programs\\Prog121\\sort.in"));
        String line = kbReader.nextLine();
        String[] l1 = line.split("\n");
        int[] a = new int[l1.length];
        int temp;
        boolean fixed = true;
        while(fixed)
        {
            fixed = false;
        for(int i = 0; i<a.length-1; i++)
        {
            if(a[i] > a[i+1])
            {
                temp = a[i+1];
                a[i+1] = a[i];
                a[i] = temp;
                fixed = true;
            }
        }
       }
       for(int i = 0; i<a.length; i++)
       {
           System.out.println(a[i]);
       }
    }
}

所以所有的东西都编译好了,但是我的输出显示0,程序停止了。现在我不确定我的代码到底出了什么问题。我一直在想办法,但不知道该去哪里找。是否有人可以提供一些指导/反馈,关于发生了什么,我可以如何解决这个问题?非常感谢所有的帮助。

共有1个答案

章涵蓄
2023-03-14

你从来没有把任何东西放进A数组。Int数组将所有内容初始化为0。改为在“”(空格)上拆分。还有!您需要将其从string更改为int(通过以下方式实现):

Integer.parseInt(yourString);
 类似资料:
  • 我是Java新手,所以一直在尝试将一些旧的JS练习翻译成Java。

  • 嗨,我用冒泡排序查看了其他帖子,但解决方案在我的例子中不起作用:所以算法在我循环时重复了几次之后才起作用。但我如何在不使用输入的情况下做到这一点?这是我的代码,你知道我的意思:

  • 我需要使用气泡排序法按名称对我的杂货库存进行排序。 显然,我的代码不是按名字排序的 顺便说一句,库存存储的数据来自文件输入。 这是我的代码。 这是我的比较方法从我的超类(杂货店项目)

  • 本文向大家介绍气泡排序在Go Lang,包括了气泡排序在Go Lang的使用技巧和注意事项,需要的朋友参考一下 冒泡排序是一种排序算法,它通过交换顺序错误的元素来工作。在多次遍历中,它检查相邻元素的顺序是否正确(递增)。 冒泡排序的时间复杂度为O(n ^ 2),因为它需要两个嵌套循环才能检查相邻元素。 例如,让我们看下面的未排序数组- 冒泡排序算法首先遍历整个数组,然后在另一个循环中检查相邻元素是

  • 本文向大家介绍请写出冒泡排序。相关面试题,主要包含被问及请写出冒泡排序。时的应答技巧和注意事项,需要的朋友参考一下