所以我的代码有问题。我必须编写一个程序来对外部文本文件进行冒泡排序(基本上是按随机顺序排列的随机数列表)。因此,我尝试按照教授的步骤进行操作,即使我这样做了,也没有得到正确的输出。输出应该看起来像这样:

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 51 52 54 55 57 57 58 60 60 64 64 75 75 79 79 81 85 87 90 92 92 94 95 95 97 97 99 107 109 109 111 113 113 116 116 121121 125 125 129 132 133 133 133 134 144 144 145 148 149 151 155 155 155 156 156 159 159 162 164 165 165 165 167 167 168 171 173 178 179 179 183 183 186 186 190 191 191 200 203 203 203 204 205 206 207 207 207 208 209 209 210 210 215 216 217 220 220 222 223 225 228 229 229 233 233 234 235 235 235 238 239 239 242 245 245 251 252 253 258 263 268 269 271 274 276 276 278278289296296299301301 304305306308308308310311316319321321322323329330333333335338339340340345345350353353353354354355355356357357358359359362366366366374374376379 382 386 388 392 393 394 396 396 398 399 399 399 399 399 401 401 401 405 407 404 414 414 414 415 416 416 417 418 418 420 424 424 430 432 436 436 438 440 440 442 442 446 446 446 448 449 456 456 458 458 460463 470 476 477 480 480 482 484 485 487 490 490 495 501 502 504 511 511 511 511 513 513 513 514 515 515 519 515 523 526 527 529 535 534 534 536 537 538 538 538 539 540 545 545 545 555 558 559 559 559 564 567 568 568 569 571 572 574 575 578 580 580 580 581 581 582 583 583 583 584 585 585 585 587 588 590 590 591 596 599 604 606 614 615 616 616 617 617 618 620 625 625 628 631 631 635 635 654 643 647 647 655 659 659 659 664 666 666 669 669 676 678 678 684 684 685 687 687 689 690 692 692 692 695 698 699 704 707 707 707 717 717 717 717 717 717 719 719 729 730 734 734 734 736 736 736 736 740 740 751 751 751 675 754 754 755 759 761 763 763 768 772 778 780 783 785 786 790 792 793 795 796 798 799 799 800 800 802 813 813 817 820 820 820 822 826 826 826 827 827 829 830 830 830 830 831832 833 835 836 837 846 853 854 854 858 858 861 866 868 868 869 872 877 879 880 881 882 888 898 909 910 919 919 919 920 920 920 921 927 930 931 934 934 938 943 944 945 950 950 955 957 957 960 962 962 966 970 970 971 970 999 989 995 995 995 995 995 998 995 995 998 998 995 998 995 998 995 998 995 998 998 998 995 998 998 995 998 998 998 995 998 998 995 998 998 998 995 998 998 998 998 998九九九九零零九五九

这是我的代码:

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并且程序停止。现在,我不确定代码中到底出了什么问题。我一直在尝试找出答案,但是用完了在哪里寻找的想法。有人可以就发生的事情以及如何解决此问题提供一些指导/反馈吗?非常感谢所有帮助。

最佳答案

您永远不会将任何东西放在数组a中。 Int数组将所有内容初始化为0。改为在“”(空格)上分割。和!您需要通过以下方式将其从字符串更改为整数:

Integer.parseInt(yourString);

10-04 17:02