2013-04-14 3 views
0

Так что я делаю тестовый класс для назначения для школы, и это выглядит следующим образом:Return «по умолчанию» в методе INT передать для переключения

public class Tester{ 
    //variables.... some for the object to be tested, others for a Base object to be tested against 

    public void test(SpecialObject objectToBeTested){ 
    SpecialObject baseObject = new SpecialObject(); 
    int testCase = this.compareObjects(objectToBeTested, baseObject); //compare the two 
    switch (testCase){ 
     case 1: System.out.println("CASE 1"); break; 
     case 2: System.out.println("CASE 2"); break; 
     default: System.out.println("Default, everything is good"); break; 
     //can't just make this case 0, because I think the switch requires a default 
     //so how do I pass an int to trigger the default? 
    } 
    } 
    public int compareObject(SpecialObject one, SpecialObject two) { 
    //compare one.this1 and two.that1 
    if (one.this1 = two.that1) {return 1;}; 
    //compare one.this2 and two.that2 
    if (one.this2 = two.that2) {return 2;}; 
    //...... 
    // HERE IS WHERE I AM CONFUSED 
    // I want to do something like 
    return default; 
    //or 
    return "default"; 
    // but can't because I need to pass an int 
    } 
} 

Поскольку я пытаюсь сохранить все сравнения в одном методе (хотя это позже будет абстрагировано на несколько методов) Я пытаюсь передать целое число обратно в test() с целым числом для метода switch. Пытаясь сохранить хорошую информацию, я хочу сказать себе, что происходит с конкретным сравнением, я думаю, мне нужно передать что-то методу коммутатора для использования по умолчанию. Что мне следует возвратить из compareObject(one, two), чтобы вызвать случай по умолчанию в методе переключения, если все будет проверено.

ответ

1

Вызывается «по умолчанию» в выражении switch, если переменная не соответствует ни одному из случаев. Если у вас есть случай 1 и случай 2, любой int, который НЕ равен 1 или 2, перейдет к блоку по умолчанию.

0

Вы можете вернуть что-либо int, отличное от 1 или 2. Вы выбираете то, что хотите использовать по умолчанию. Может быть, 0 или -1 или что-то еще.

Также см. Ответ Томаса о switch. Убедитесь, что вы понимаете, что делает оператор `switch '.

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