なぜIntelliJがNullPointerExceptionを返すのか理解してください。 ex3.Hippodromeでex3.Horse.ride(Horse.java:21)で ex3.Horse.about(Horse.java:16)におけるスレッド "メイン" のjava.lang.NullPointerExceptionでnull値を見つけることができません:スレッド "main"の例外java.lang.NullPointerException(解決、ブール代数によるブール代数による)
例外。メイン(Hippodrome.java:19)
クラスの馬:
package ex3;
public class Horse {
String name;
int speed;
String color;
Boolean isMale;
int age;
void eat(){
System.out.println("eating ... ");
}
void about(){
String sex = (isMale) ? "Male" : "Female"; // тернарный оператор
System.out.printf("name: %s, age: %d, sex: %s", name, age, sex);
}
void ride(){
about();
System.out.println("riding at speed: " + speed);
}
}
とクラスヒポドローム:
package ex3;
import java.util.Random;
public class Hippodrome {
public static void main(String[] args) {
Horse[] horses = new Horse[10];
Random random = new Random();
for (int i = 0; i < horses.length; i++) {
horses[i] = new Horse();
horses[i].name = "Kon " + i;
horses[i].age = 1 + random.nextInt(10);
}
for (Horse horse : horses) {
horse.ride();
}
}
}
@JuanCarlosMendozaにそのタイプを変更することで、この問題を解決することができますp – ACVM
@ACVM correct:p –