2015-08-24 3 views
0

Я пишу программу, которая получит 5 различных тестовых кодов, сбросит самый низкий класс и даст среднее значение самого высокого значения 4. Есть ли способ, когда я вызываю метод и переименовываю то, что он возвращает?Могу ли я изменить способ возврата в переменную?

import java.util.Scanner; 
public class Num { 
    public static void getScore(){ 

     Scanner score = new Scanner(System.in); 
     boolean testNum = false; 
     int grade = 0; 
     do{ 
      try{ 
       testNum = true; 
       System.out.print("Enter in a test grade."); 
       grade = score.nextInt(); 

       if((grade < 0) || (grade > 100)){ 
        System.out.print("Invalid Entry. "); 
        testNum = false; 
       } 
      }catch (Exception e){ 
       System.out.print("What you entered was not a grade. Try again. "); 
       testNum = false; 
       @SuppressWarnings("unused") 
       String clear = score.nextLine(); 
      } 
     }while(!testNum); 


    } 
} 
+0

Вы хотите вернуть результат 'testNum' от метода ? –

+0

Я хочу вернуть класс и переименовать его в основном. –

+0

Измените подпись метода, чтобы вернуть 'int', а затем вернуть класс. –

ответ

1

Есть ли способ, когда я называю метод и переименовывать то, что он возвращает?

Да, вы можете.

Этот метод не принимает любую переменную и не возвращает никакого значения:

public static void getScore(){ 

Это принимает int[] array (для хранения 5 кодов), и возвращает и int.

public static int getScore(int[] codes){ 

Назвать это в основном:

public static void main(String[] args) { 
    int[] codes = {5,6,7,8,9}; 
    int grade = Num.getScore(codes); 
} 

После того как я получить оценку, чтобы вернуться я могу изменить, что в другой переменной?

int otherGrade = grade; 

Чтобы лучше понять сигнатуры методов: проверить JSL §8.4, когда вы объявляете метод:

MethodDeclaration: 
    MethodHeader MethodBody 

MethodHeader: 
    MethodModifiersopt TypeParametersopt Result MethodDeclarator Throwsopt 

MethodDeclarator: 
    Identifier (FormalParameterListopt) 

public static int getScore(int number) throws Exception; 
//|  |  | |  |   └ throwing an exception (Throwsopt) 
//|  |  | |  └──────────── receiving one int argument (MethodDeclarator FormalParameterListopt) 
//|  |  | └───────────────────── name hellow (MethodDeclarator Identifier) 
//|  |  └───────────────────────── returning an int (Result) 
//|  └──────────────────────────────── declared static (no class instance needed) 
//└─────────────────────────────────────── is a public method (MethodModifiersopt) 
+0

Есть ли способ вернуть класс, когда метод недействителен? –

+0

короткий ответ - нет, но вы можете создать класс varialbe, изменить его внутри метода void и прочитать его там, где хотите ... –

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