Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复不可访问的方法_Javascript_Java_Methods_Bluej - Fatal编程技术网

Javascript 如何修复不可访问的方法

Javascript 如何修复不可访问的方法,javascript,java,methods,bluej,Javascript,Java,Methods,Bluej,当我创建类champosion的对象时,它显示没有可访问的方法 public class Championship { private ListOfDrivers driversList; private ListOfVenues venuesList; private RNG rand; public static void main(St

当我创建类
champosion
的对象时,它显示没有可访问的方法

public class Championship 
            {
                private ListOfDrivers driversList;
                private ListOfVenues venuesList;
                private RNG rand;

                public static void main(String[] args) {
                    Championship sim = new Championship();
                    sim.startgame();
                }


                private void startgame() 
                {
                    this.driversList = new ListOfDrivers();
                    this.venuesList = new ListOfVenues();
                    this.rand = new RNG();
                    System.out.println("List of venues:");
                    venuesList.printVenues();

                    System.out.println("And  starts....");
                    for(Venue venue : venuesList.getVenues()) {
                        System.out.println("------------------------------------------------------------");
                        System.out.println("Welcome one and all to " + venue.getVenueName() + "!");

                        // Give race penalties at the start of the race
                        for(Driver driver: driversList.getDrivers()) {
                            switch(driver.getRanking()) {
                                case 1: driver.setTime(0); break;
                                case 2: driver.setTime(3); break;
                                case 3: driver.setTime(5); break;
                                case 4: driver.setTime(7); break;
                                default: driver.setTime(10);
                            }
                        }
                        System.out.println("Drivers list!");
                        driversList.printDrivers();

                        System.out.println("Race starts!!");
                        for(int lap = 1; lap<=venue.getNoOfLaps(); lap++) {
                            System.out.println("In Lap " + lap + " now..");
                            for(Driver driver: driversList.getDrivers()) {
                                if(driver.getEligibleToRace())
                                {
                                    int faultRand = rand.faultRNG();
                                    if(faultRand == 1) 
                                    {
                                        System.out.println(driver.getName() + " just had an unrecoverable mechanical fault!!");
                                        System.out.println(driver.getName() + " is out of the race..");
                                        driver.setEligibleToRace(false);
                                        driver.setTime(99999);
                                        continue;
                                    } 
                                    else if(faultRand <=3) 
                                    {
                                        System.out.println(driver.getName() + " just had a major mechanical fault!!");
                                        driver.increaseTime(120);
                                    }
                                    else if(faultRand <=5)
                                    {
                                        System.out.println(driver.getName() + " just had a minor mechanical fault!!");
                                        driver.increaseTime(20);
                                    }

                                    driver.increaseTime(venue.getAverageLapTime());

                                    if(driver.getSkill().equals("Overtaking")) 
                                    {
                                        if(lap%3 == 1) {
                                            int reduc = rand.timeReductionRNG(10, 20);
                                            driver.decreaseTime(reduc);
                                            System.out.println(driver.getName() + " reduced time of " + reduc + " seconds");
                                        }
                                    } else
                                    {
                                        int reduc = rand.timeReductionRNG(1, 8);
                                        driver.decreaseTime(reduc);
                                        System.out.println(driver.getName() + " reduced time of " + reduc + " seconds");
                                    }
                                }
                            }
                            Driver currentRaceLeader = driversList.lowestTime();
                            System.out.println("Lap " + lap + " statistics:");
                            System.out.println("Leader: " + currentRaceLeader.getName() + "\tTotal Time: " + 
                                currentRaceLeader.getTime() + " seconds");
                        }

                        System.out.println("The championship race at " + venue.getVenueName() + " has concluded!");
                        driversList.allocateScores();
                        System.out.println("Results are: ");
                        String format = "%20s | %8s | %10s | %8s ";
                        System.out.println(String.format(format, "Name", "Ranking", "Race Time", "Score"));
                        for(Driver driver : driversList.getDrivers()) {
                            if(driversList.getDrivers().get(4) == driver) 
                                break;
                            System.out.println(String.format(format, driver.getName(), driver.getRanking(),
                                    driver.getTime(), driver.getScore()));
                        }
                    }
                    System.out.println("------------------------------");
                    System.out.println("Championship has concluded and the champion is:");
                    Driver winner = driversList.highestScore();
                    System.out.println(winner.getName() + " with a total of " + winner.getScore() + " points!!");
                    System.out.println("------------------------------");
                }
            }
公开课冠军赛
{
私人司机名单;
私人场所名录;
私人RNG兰特;
公共静态void main(字符串[]args){
锦标赛sim=新锦标赛();
sim.startgame();
}
私有void startgame()
{
this.driversList=新的ListOfDrivers();
this.venuesList=新的ListofVinces();
this.rand=new RNG();
System.out.println(“场馆列表”);
venuesList.printVinces();
System.out.println(“并开始…”);
对于(地点:venuesList.getVinces()){
System.out.println(“-------------------------------------------------------------------------------------”);
System.out.println(“欢迎所有人加入”+venue.getVenuName()+“!”;
//在比赛开始时给予比赛处罚
对于(驱动程序:driversList.getDrivers()){
开关(driver.getRanking()){
案例1:驱动程序设置时间(0);中断;
案例2:驱动程序设置时间(3);中断;
案例3:驱动程序设置时间(5);中断;
案例4:驱动程序设置时间(7);中断;
默认值:driver.setTime(10);
}
}
System.out.println(“驱动程序列表”);
printDrivers();
System.out.println(“比赛开始!!”;

对于(int lap=1;lapYes),除了
champion
对象的默认构造函数之外,所有方法都标记为私有,因此只能在类实现本身内部访问

只要实例化
champosion
对象的实例,就会自动调用
startgame()
方法

public static void main(String[] args) {
  Championship sim = new Championship();
  sim.startgame();
}
如果您希望能够在不立即调用
startgame()
方法的情况下创建
champion
实例,或在实例化外部调用
startgame()
方法,请标记
startgame()
public
和/或从构造函数中删除
sim.startgame()

方法原型应该匹配

public void startgame() {
  ...
}

“没有可访问的方法”是什么意思?你在构造函数中调用
sim.startgame()
,你说它编译得很好。我也很困惑,这个错误消息出现在哪里,它到底是什么?“javascript”??这不是javascript,而是java。我的意思是,当我创建一个类冠军的对象,然后右键单击该对象尝试访问任何方法时,它表明没有可访问的方法。