Я изучаю Java, теперь работаю с массивами. Я выполняю упражнение, когда я собираюсь заставить пользователя вводить значения для целых двух целых массивов. Тогда я должен найти наименьшую ценность. Я делаю это, используя if-statement. Проблема в том, что компилятор всегда печатает число «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#' angle? – spender
@mre: Это O (nlogn) вместо O (n).Он также изменяет массив, если вы не сделаете копию. – Brian