Z jakiegoś powodu Random nie losuje mi liczb. Kiedy wypisuję elementy do konsoli pokazuje wszędzie null gdzie powinny być wylosowane elementy. Już robiłem praktycznie identyczny program i wszystko działało jak powinno (sprawdzałem z tamtym kodem i mam wszystko tak samo). Oto kod:
Main:
import java.util.Random;
import java.lang.Math;
public class Main
{
static void clear()
{
for(int i=0; i<50; i++)
{
System.out.println();
}
}
public static void main(String[] args)
{
int losSamolotu=0;
int losLotniska1=0;
int losLotniska2=0;
double odleglosc=0;
Samoloty[] samolot = new Samoloty[100];
samolot[1] = new Samoloty("Daher TBM-930", 2430, 150);
Lotniska[] lotnisko = new Lotniska[100];
lotnisko[1] = new Lotniska("EPKT", "Katowice - Pyrzowice", 50.48, 19.08, 10495);
lotnisko[2] = new Lotniska("EPKK", "Krakow - Balice", 50.08, 19.78, 8359);
Random r=new Random();
losSamolotu=r.nextInt(1)+1;
do
{
losLotniska1=r.nextInt(2)+1;
losLotniska2=r.nextInt(2)+1;
odleglosc=Math.acos(Math.sin(Math.toRadians(lotnisko[losLotniska1].X))*Math.sin(Math.toRadians(lotnisko[losLotniska2].X))+Math.cos(Math.toRadians(lotnisko[losLotniska1].X))*Math.cos(Math.toRadians(lotnisko[losLotniska2].Y-lotnisko[losLotniska1].Y)))*6371*0.621;
}
while(losLotniska1==losLotniska2 || odleglosc>samolot[losSamolotu].zasieg);
System.out.println(samolot[losSamolotu].nazwa);
System.out.println(lotnisko[losLotniska1].ICAO + " - " + lotnisko[losLotniska1].nazwa);
System.out.println(lotnisko[losLotniska2].ICAO + " - " + lotnisko[losLotniska2].nazwa);
System.out.println(odleglosc + "NM");
}
}
Samoloty:
public class Samoloty
{
String nazwa;
int rozbieg;
int zasieg;
Samoloty(String sNazwa, int sRozbieg, int sZasieg)
{
sNazwa=nazwa;
sRozbieg=rozbieg;
sZasieg=zasieg;
}
}
Lotniska:
public class Lotniska
{
String ICAO;
String nazwa;
double X;
double Y;
int dlPasa;
Lotniska(String lICAO, String lNazwa, double lX, double lY, int lDlPasa)
{
lICAO=ICAO;
lNazwa=nazwa;
lX=X;
lY=Y;
lDlPasa=dlPasa;
}
}
Używam IntelliJ IDEA a w starym programie używałem Eclipse o ile to ma jakieś znaczenie.