我正在學習Java,現在正在使用數組。我正在做一個練習,我要讓用戶輸入一個兩乘三整數數組的值。那麼我應該找到最小的價值。我通過使用if語句來做到這一點。問題是編譯器總是爲最小值打印數字「0」。我找不到我的代碼有什麼問題。誰能幫幫我嗎? 的代碼如下:在數組中尋找最小的數據
import java.util.Scanner;
public class Oppgave79k
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int t[][] = new int[2][3];
int smallest = t[0][0];
for (int row = 0; row < t.length; row++)
{
for (int column = 0; column < t[row].length; column++)
{
System.out.println("Enter values for array: ");
t[row][column] = input.nextInt();
if (t[row][column] < smallest)
{
smallest = t[row][column];
}
}
}
for (int row = 0; row < t.length; row++)
{
for (int column = 0; column < t[row].length; column++)
{
System.out.printf("%d ", t[row][column]);
}
}
System.out.printf("Smallest element is: %d\n", smallest);
}
}
爲什麼不使用['Arrays.sort'](http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort%28int []%29)並抓取排序數組中的第一個元素? – mre
什麼是C#的角度? – spender
@mre:這是O(nlogn)而不是O(n)。它也修改陣列,除非你做一個副本。 – Brian