Здравствуйте. Пытаюсь сделать некоторые операции по выводу уникальных чисел из массива, и в большинстве случаев выдается нормальный результат, но вместо того, чтобы пойти дальше, когда есть нормальный результат, код начинает по несколько раз прогонять массив и выдавать ложный результат. Помогите, пожалуйста, разобраться.
public static void main(String[] args) {
int[] array = new int[5];
int result = array[0];
int n = 0;
int sum = 0;
int num = 0;
boolean prime = true;
boolean pal = true;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < array.length; i++) {
System.out.print("Введите " + i + "-ое число: ");
array[i] = sc.nextInt();
}
System.out.println("");
System.out.print("Четные числа: ");
for (int x = 0; x < array.length; x++) {
if (array[x] % 2 == 0) {
n++;
sum += array[x];
System.out.print(array[x] + "; ");
}
}
System.out.println("");
System.out.println("Количество четных чисел = " + n);
System.out.println("Самое большое число: "); // багованое. проходит по нескольким числам
for (int a = 0; a < array.length; a++) {
if (array[a] > result) {
result = array[a];
System.out.println(array[a]);
System.out.println("Количество цифр в большом числе = " + String.valueOf(array[a]).length());
}
}
for (int d = 0; d < array.length; d++) {
if (array[d] < result) {
result = array[d];
System.out.println("Самое короткое число = " + array[d]); // и это багованое
System.out.println("Количество цифр в коротком числе = " + String.valueOf(array[d]).length());
}
}
System.out.println("Деленные на 3: ");
for (int b = 0; b < array.length; b++) {
if (array[b] % 3 == 0)
System.out.print(array[b] + "; ");
}
System.out.println("");
System.out.println("Деленные на 5: ");
for (int c = 0; c < array.length; c++) {
if (array[c] % 5 == 0)
System.out.print(array[c] + "; ");
}
System.out.println("");
for (int e = 0; e < array.length; e++) {
if (array[e] == 1) {
System.out.println(array[e] + " ");
}
}
System.out.println("Простые числа: "); // багованное
for (int j = 2; j < array.length; j++) {
if (array[j] % j == 0)
prime = false;
if (prime)
System.out.print(array[j] + "; ");
System.out.println("");
for (int l = 0; l < array.length / 2; l++) {
if (array[l] != array[array.length - l - 1]) {
pal = true;
System.out.println(array[l] + " палиндром");
}
}
System.out.println("");
System.out.println("Числа в массиве = " + Arrays.toString(array));
}
}
upd 20:21 Результат в большинстве случаев такой:
В ответе выше после прохождения цикла надо выводить полученный result, а не array[a] - после прохождения цикла а будет равно 5:
System.out.println("Самое большое число: ");
result = a[0];
for (int a = 1; a < array.length; a++) {
if (array[a] > result) {
result = array[a];
}
}
System.out.println(result);
System.out.println("Количество цифр в большом числе = " +
String.valueOf(result).length());
result = a[0];
for (int d = 1; d < array.length; d++) {
if (array[d] < result) {
result = array[d];
}
}
System.out.println("Самое короткое число = " + result);
System.out.println("Количество цифр в коротком числе = " +
String.valueOf(result).length());
Устанавливайте значение переменной result
непосредственно перед теми циклами, где она используется. А результат выводите после циклов
System.out.println("Самое большое число: ");
result = a[0];
for (int a = 1; a < array.length; a++) {
if (array[a] > result) {
result = array[a];
}
}
System.out.println(array[a]);
System.out.println("Количество цифр в большом числе = " + String.valueOf(array[a]).length());
result = a[0];
for (int d = 1; d < array.length; d++) {
if (array[d] < result) {
result = array[d];
}
}
System.out.println("Самое короткое число = " + array[d]);
System.out.println("Количество цифр в коротком числе = " + String.valueOf(array[d]).length());
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Приветствую! Пилю приложение для просмотра сайта в webView, появилась задача при открытии программно прокручивать страницу до определенного...
При попытке вызвать setTextContent() со строкой, содержащей < или > в итоговый файл записывается < или &rtЧто делать, и как записать эти знаки...
Я залил проект в его стандартном состоянии, но на OpenShift выдало ошибкуМожет нужны какие-то дополнительные действия? На локальном сервере все...