Проблема с булевым divisibleby10(int x)
У меня есть проблема с моим заявлением, делимым на 10. Я должен был проверить, делится ли число в массиве на 10. Но почему-то получается, что ложные числа делятся на 10. На самом деле я установил его как int, но затем мне пришлось изменить его с int на boolean.
Что я уже пробовал:
package journal.pkg5a; /** * * @author stephenwessels */ import javax.swing.*; import java.util.Random; public class Journal5A { public int[] createArray(int size) { Random rnd = new Random(); int[] array = new int[size]; for(int i = 0; i < array.length; i++) array[i] = rnd.nextInt(101); return array; } public void printArray() { Journal5A c = new Journal5A(); int[] myArray = c.createArray(10); for(int i = 0; i < myArray.length; i++) { System.out.println(myArray[i]); System.out.println("There is " + c.divisibleby10(i) + " numbers that are divisible by 10"); } } public boolean divisibleby10(int x) { return x % 10 == 0 ? true : false; } /** * @param args the command line arguments */ public static void main(String[] args) { Journal5A c = new Journal5A(); Random r = new Random(); c.printArray(); } }
PIEBALDconsult
Вернуть true. Сделано.
Проверьте порядок ваших операций.
Jon McKee
Меня немного смущает ваша программа. Похоже, что вы пытаетесь подсчитать числа, которые делятся на 10, с помощью функции, которая просто проверяет, делится ли одно число на 10. Также вам не нужен тернарный оператор?:. x % 10 == 0
является ли булевым условием уже из-за оператора равенства ==
.