2016-03-28 3 views
-6

Это то, что я должен сделать:Метод Java Stub

Определить заглушки для методов, называемых нижним основным(). Каждый заглушка должен печатать «FIXME: Finish methodName()», за которым следует новая строка, и должен возвращать -1.

Пример вывод:

FIXME: Finish getUserNum() 

FIXME: Finish getUserNum() 

FIXME: Finish computeAvg() 

Avg: -1 

Это код, который у меня есть:

import java.util.Scanner; 

public class MthdStubsStatistics { 

    public static int methodName (int userNum1, int userNum2, int computerAvg) { 
     System.out.println("FIXME: Finish getUserNum()"); 
     System.out.println("FIXME: Finish getUserNum()"); 
     System.out.println("FIXME: Finish computerAvg()"); 
     System.out.println("Avg: -1"); 

     return 0; 

    } 

    public static void main() { 
     int userNum1 = 0; 
     int userNum2 = 0; 
     int avgResult = 0; 

     userNum1 = getUserNum(); 
     userNum2 = getUserNum(); 

     avgResult = computeAvg(userNum1, userNum2); 

     System.out.println("Avg: " + avgResult); 

     return; 
    } 
} 

Я думал, что я понял метод заглушки, но я чувствую, что я делаю очень глупую и простую ошибку? Я могу редактировать только public static int methodName в коде.

+0

* «Я могу редактировать только публичный статический Int имяМетода раздел кода.» * - Я сомневаюсь, что это правда. Прочтите инструкции еще раз. Если это действительно то, что они говорят, тогда спросите человека, который написал инструкции, что они на самом деле имели в виду. –

+0

Я предполагаю, что направления говорят: «Редактируйте только public static int methodName», которые следует интерпретировать как не редактировать основной метод, а вместо этого вы можете редактировать только методы, которые вы определяете. «methodName» в направлениях выглядит как заполнитель для описания «getUserNum» и «computeAvg». – nickb

ответ

1

Метод заглушки в этом смысле - это метод, в котором нет реальной субстанции, то есть он не выполняет то, что он предназначен. Ваш метод getUserNum() должен возвращать уникальный идентификатор пользователя, но вместо этого вы определяете заглушку, которая просто возвращает -1 при каждом вызове.

Вы можете сказать, от вашего метода main(), вы должны быть определения этих двух методов:

userNum1 = getUserNum(); 
avgResult = computeAvg(userNum1, userNum2); 

Таким образом, определить их. Вот что будет выглядеть заглушка getUserNum().

public static int getUserNum() { 
    System.out.println("FIXME: Finish getUserNum()"); 
    return -1; 
} 

Я оставлю computeAvg() до OP.

+1

Im получает две ошибки, которые говорят: «getUserNum (int, int) в MthdStubsStatistics», которые являются userNum1 = getUserNum() и userNum2 = getUserNum(), а также он говорит, что он не может найти computeAvg (int, int), где avgResult = computerAvg (userNum1, userNum2) – java2019

+0

Ваша первая ошибка связана с тем, что 'getUserNum()' не принимает никаких параметров. Вы объявили его как взятие двух целых чисел. Ваша вторая ошибка заключается в том, что вы не определили метод computeAvg, который я намеренно упустил из своего ответа. – nickb

+0

Есть ли способ, который вы могли бы объяснить, что вы говорите, с примером кода? – java2019

0

импорт java.util.Scanner;

MthdStubsStatistics общественного класса {

/* Ваше решение идет здесь */
открытые статические INT getUserNum() { System.out.println ("FIXME: Finish getUserNum()");
return -1;
}
public static int computeAvg (int userNum1, int userNum2) { int avgResult = (userNum1 + userNum2)/2; System.out.println ("FIXME: Finish computeAvg()"); return -1;
} public static void main() { int userNum1 = 0; int userNum2 = 0; int avgResult = 0;

пользовательNum1 = getUserNum(); userNum2 = getUserNum();

avgResult = computeAvg (userNum1, userNum2);

System.out.println ("Сред.:" + AvgResult);

возвращение;
}}

+0

Вы должны предоставить объяснение и форматировать свой код, чтобы сделать его читаемым. –

Смежные вопросы