Метод отзыва проблемы. неуверенный в том, где я ошибаюсь

Ниже мой код, и у меня есть заметки рядом с моими ошибками. Я не уверен, где я ошибаюсь, вспоминая свой метод, или даже проблема в этом.

import java.util.Scanner;

public class HurlerUse
{
    static Hurler[] hurlerArray;

    // find lowest score (static method)    
    public static int findLow(Hurler[] hurlerArray)
    {
         for(int i = 0; i < hurlerArray.length; i++)
         {
            int lowest = 0;
            int index = 0;
            for(int j=0; j<hurlerArray.length; j++)
            {
                int current = hurlerArray[i].totalPoints();// issue with         my method 'totalPoints' 
            if (current < lowest)
            {
                lowest = current;
                index = i;
            }
        }
            return index;
    }


}


//main code
public static void main(String[] args)
{
    Scanner sc = new Scanner(System.in);
    Hurler[] hurlerArray = new Hurler[5];

    for (int i = 0; i <4; i++)
    {
        hurlerArray[i] = new Hurler();
        System.out.println ("Enter Hurler Name:");
        hurlerArray[i].setName(sc.nextLine()); 
        hurlerArray[i].setGoalsScored(sc.nextInt()); 
        System.out.println("Enter the hurler's goals scored");
        hurlerArray[i].setPointsScored(sc.nextInt()); 
        System.out.println("Enter the hurler's points scored");
    }

    for(int i=0;i< hurlerArray.length; i++)
    {
        hurlerArray[i] = new Hurler(MyName, MyGoalsScored, MyPointsScored);// issue with all 3 objects in the brackets but im unsure of how to fix them
    }


    System.out.println("The lowest scoring hurler was " + hurlerArray[findLow(hurlerArray)].getName());// error with my code here I  think it is in the method
}

}//end of class

Я знаю, что nyName, myGoalsScored, myPointsScored неверны, но может ли кто-нибудь объяснить, почему?

Это сопровождающая его страница класса

public class Hurler
{

private String name;
private int goalsScored;
private int pointsScored;


public Hurler() //constructor default
{
    name  = "";
    goalsScored = 0;
    pointsScored = 0;
}

public Hurler(String myName, int myGoalsScored, int myPointsScored) // specific constructor 
{
    name = myName;
    goalsScored = myGoalsScored;
    pointsScored = myPointsScored;

}

//get and set name
public String getMyName()
{
    return name;
}

    public void setName(String myName)
{
    name = myName;
}

//get and set goals scored
public int getGoalsScored()
{
    return goalsScored;
}

public void setGoalsScored(int myGoalsScored)
{
    goalsScored = myGoalsScored;
}

// get and set points scored
public int getPointsScored()
{
    return pointsScored;
}

public void setPointsScored(int myPointsScored)
{
    pointsScored = myPointsScored;
}

public int totalPoints(int myGoalsScored, int myPointsScored)
{
    int oneGoal = 3;
    int onePoint = 1; 
    int totalPoints = ((goalsScored * oneGoal) + (pointsScored * onePoint));
    {
        return totalPoints;
    }
}

} // конец класса

Что делает totalPoints ()? Можете выложить для него код?

Pankaj Gadge 22.03.2018 22:11

добавлена ​​страница класса сопровождения!

Aoife Ellen Ryan 22.03.2018 22:13

как вы думаете, это большая проблема?

Aoife Ellen Ryan 22.03.2018 22:15

Есть несколько проблем ... Проблема 1. Есть ли причина для второго цикла for, который повторяет значение int j? Это могло быть частью проблемы. Проблема 2: Метод totalPoints определен с двумя аргументами (которые он даже не использует). Избавьтесь от этих двух аргументов в определении метода. Проблема 3: В вашем основном методе вы заменяете все Hurlers в своем массиве после того, как вы только что определили их все ... Это нарочно? На самом деле это не должно работать с предоставленным кодом, поскольку три переменные «MyName, MyGoalsScored, MyPointsScored» нигде не определены.

pacifier21 22.03.2018 22:27
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
38
1

Ответы 1

  1. Вы вызываете totalPoints () без параметров, в то время как метод totalPoints (int, int) в классе Hurler ожидает два параметра int.
  2. Объекты MyName, MyGoalsScored, MyPointsScored вообще не объявляются.
  3. Вы вызываете метод getName (), а в классе Hurler у вас его нет. Есть метод getMyName (), возможно, вы захотите его вызвать.

Другие вопросы по теме