【问题标题】:Need Help in fixing "Minimum" output. Also, altering the code by not using Arrays.sort需要帮助修复“最小”输出。此外,通过不使用 Arrays.sort 来更改代码
【发布时间】:2015-07-16 10:30:54
【问题描述】:

我希望在不使用 Arrays.sort 的情况下修复“最小”输出和更改代码方面得到帮助。只要一些线索就可以了。

package newempty;
import java.util.*;
public class NewEmpty{
public static void main (String args []){
Scanner in = new Scanner (System.in);
int bry [] = new int [5];
int high = bry[0];
int low = bry[0];
for (int i = 0; i < bry.length; i++){
  System.out.print("Enter a Number: ");
  bry[i] = in.nextInt();
}
System.out.print("Ascending Order: ");
for (int i = 0; i<bry.length; i++){
  high = bry [i] > high ? bry[i]:high;
  Arrays.sort(bry);
  System.out.print(" " + bry[i]);
}
System.out.print("\nDescending Order: ");
for (int i = bry.length-1; i>=0; i--){
  low = bry [i] < low ? bry[i]:low;
  Arrays.sort(bry);
  System.out.print(" " + bry[i]);
}
System.out.println("\nMinimum: " + low);
System.out.println("Maximum: " + high);
}
}

【问题讨论】:

    标签: arrays loops minimum


    【解决方案1】:

    不要在循环中对数组进行排序!

    for (int i = bry.length-1; i>=0; i--){
      low = bry [i] < low ? bry[i]:low;
      Arrays.sort(bry);
      System.out.print(" " + bry[i]);
    }
    

    而且您不必一遍又一遍地对其进行排序。一次就够了。一旦它被排序,它被排序。此外,一旦你对它进行了排序,你就不必去搜索最小值和最大值。它们分别位于列表的开头和结尾。

    改为这样做:

    Arrays.sort(bry);
    low = bry[0];
    high = bry[bry.length-1];
    System.out.print("Ascending Order: ");
    for (int i = 0; i < bry.length; i++){
      System.out.print(" " + bry[i]);
    }
    System.out.println();
    System.out.print("Descending Order: ");
    for (int i = bry.length-1; i>=0; i--){
      System.out.print(" " + bry[i]);
    }
    

    在一个完全不相关的注释中,现在忘记“\n”是换行符。那不是真的。 \n 是 Unixland 中的换行符。 \r\n 是 Windows 领域的换行符。较旧的 Mac 使用 \r 作为换行符。其他一些系统甚至使用\n\r。

    http://en.wikipedia.org/wiki/Newline

    如果你假设 \n 到处都是换行符,你以后会头疼的。在这种情况下,你可以只要求一个 println,但你也可以养成要求的习惯:

     String newline = System.getProperty("line.separator"); 
    

    这将为您提供适合代码运行系统的任何换行符。

    【讨论】:

    • 谢谢@Kevin Walker 先生。呵呵呵呵。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多