Компилятор, показывающий недостижимое утверждение

Я построил этот код, используя строку, но, наконец, все мои усилия компилятор показывает, что оператор недостижим. Код:-

import java.util.*;
public class Routine {
    String Period1,Period2,Period3,Period4,Period5,Period6,Period7,Period8,Period_1,Period_2,Period_3,Period_4,Period_5,Period_6,Period_7,Period_8,Period__1,Period__2,Period__3,Period__4,Period__5,Period__6,Period__7,Period__8,Period___1,Period___2,Period___3,Period___4,Period___5,Period___6,Period___7,Period___8,Period____1,Period____2,Period____3,Period____4,Period____5,Period____6,Period____7,Period____8,Period_____1,Period_____2,Period_____3,Period_____4,Period_____5,Period_____6;
    public static String Monday(String day){
        String Period1="Math (Soumik sir)";
        return Period1;
        String Period2="SUPW";
        return Period2;
        String Period3="Geography";
        return Period3;
        String Period4="History";
        return Period4;
        String Period5="Recees";
        return Period5;
        String Period6="English-II (Prose)";
        return Period6;
        String Period7="Chemistry";
        return Period7;
        String Period8="Bengali";
        return Period8;
    }
    public static String Tuesday(String day) {
        String Period_1="Physics";
        return Period_1;
        String Period_2="Biology";
        return Period_2;
        String Period_3="Computer";
        return Period_3;
        String Period_4="English (Poetry)";
        return Period_4;
        String Period_5="Recees";
        return Period_5;
        String Period_6="Math (Sreemoyee mam)";
        return Period_6;
        String Period_7="Bengali";
        return Period_7;
        String Period_8="Math (soumik sir)";
        return Period_8;
    }
    public static String Wednesday(String day) {
        String Period__1="Physics";
        return Period__1;
        String Period__2="Bengali";
        return Period__2;
        String Period__3="Computer";
        return Period__3;
        String Period__4="Biology";
        return Period__4;
        String Period__5="Recees";
        return Period__5;
        String Period__6="Math (Sremoyee mam)";
        return Period__6;
        String Period__7="English (Grammar)";
        return Period__7;
        String Period__8="Games";
        return Period__8;
    }
    public static String Thursday(String day)
    {
        String Period___1="Chemistry";
        return Period___1;
        String Period___2="Bengali";
        return Period___2;
        String Period___3="Math (Soumik sir)";
        return Period___3;
        String Period___4="English (Merchant of Venice)";
        return Period___4;
        String Period___5="Recees";
        return Period___5;
        String Period___6="Biology";
        return Period___6;
        String Period___7="Geography";
        return Period___7;
        String Period___8="History";
        return Period___8;
    }
    public static String Friday(String day)
    {
        String Period____1="Physics";
        return Period____1;
        String Period____2="Chemistry";
        return Period____2;
        String Period____3="Geography";
        return Period____3;
        String Period____4="History";
        return Period____4;
        String Period____5="Recees";
        return Period____5;
        String Period____6="Math (Soumik sir)";
        return Period____6;
        String Period____7="English";
        return Period____7;
        String Period____8="Bengali";
        return Period____8;
    }
    public static String Saturday(String day)
    {
        String Period_____1="Physics";
        return Period_____1;
        String Period_____2="Chemistry";
        return Period_____2;
        String Period_____3="Biology";
        return Period_____3;
        String Period_____4="Recees";
        return Period_____4;
        String Period_____5="English";
        return Period_____5;
        String Period_____6="Computer";
        return Period_____6;
    }
    public static void main()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the name of the day");
        Routine ob=new Routine();
        String day=sc.next();
        switch(day){
            case "Monday":System.out.println(ob.Monday(day));
            break;
            case "Tuesday":System.out.println(ob.Tuesday(day));
            break;
            case "Wednesday":System.out.println(ob.Wednesday(day));
            break;
            case "Thursday":System.out.println(ob.Thursday(day));
            break;
            case "Friday":System.out.println(ob.Friday(day));
            break;
            case "Saturday":System.out.println(ob.Saturday(day));
            break;
        }
        System.out.println("****************");
    }
}

2 ответа

Решение

Вот один из ваших методов:

public static String Monday(String day){
    String Period1="Math (Soumik sir)";
    return Period1;
    String Period2="SUPW";
    return Period2;
    String Period3="Geography";
    return Period3;
    String Period4="History";
    return Period4;
    String Period5="Recees";
    return Period5;
    String Period6="English-II (Prose)";
    return Period6;
    String Period7="Chemistry";
    return Period7;
    String Period8="Bengali";
    return Period8;
}

из того, что я могу сказать, многие из них следуют той же схеме. Когда вызывается понедельник, передается строковый день, который он не использует. Метод сначала устанавливает значение Period1, а затем использует return, return Ключевое слово сообщает методу, что он завершен, и отправляет значение Period1 вызывающей стороне. Скорее всего, вы хотели System.out.println(Period1);

Попробуй это:

public class Routine {
    String Period1,Period2,Period3,Period4,Period5,Period6,Period7,Period8;

    public static void Monday() {
        String Period1="Math (Soumik sir)";
        System.out.pringln(Period1);
        String Period2="SUPW";
        System.out.pringln(Period2);
        String Period3="Geography";
        System.out.pringln(Period3);
        String Period4="History";
        System.out.pringln(Period4);
        String Period5="Recees";
        System.out.pringln(Period5);
        String Period6="English-II (Prose)";
        System.out.pringln(Period6);
        String Period7="Chemistry";
        System.out.pringln(Period7);
        String Period8="Bengali";
        System.out.pringln(Period8);
    }


    public static void main()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the name of the day");
        String day=sc.next();
        switch(day){
            case "Monday": Monday();
            break;
            case "Tuesday": Tuesday();
            break;
            case "Wednesday": Wednesday();
            break;
            case "Thursday": Thursday());
            break;
            case "Friday": Friday();
            break;
            case "Saturday": Saturday();
            break;
        }
            System.out.println("****************");
    }
}

Как всегда, есть тысяча способов сделать это, и это только один. Обратите внимание, что я не "передал" значение в Monday() метод (это будет выглядеть Monday(day), как вы сделали в своем примере. Также метод Monday() определяется как public static void, void Ключевое слово означает, что оно не будет "возвращать" значение (оно не потребует return заявление, о котором я бы посоветовал вам прочитать).

На практике вы можете улучшить приведенный выше код, переместив switch оператор в метод, чтобы лучше инкапсулировать функциональность вашего кода. Для этого потребуется: провести день в новом методе, выполнить рефакторинг так, чтобы ваш оператор switch был в новом методе, и вызвать этот метод из вашего main,

Вернуть только одну вещь из не пустого метода, и если вы хотите вернуть несколько вещей одного типа (например, то, что вы здесь делаете), просто используйте массив (как я).

import java.util.*;
public class Routine {
   static String Period1,Period2,Period3,Period4,Period5,Period6,Period7,Period8;
    public static String [] myMethod(String day){
        switch(day){
            case "Monday":
                Period1="Math (Soumik sir)";
                Period2="SUPW";
                Period3="Geography";
                Period4="History";
                Period5="Recees";
                Period6="English-II (Prose)";
                Period7="Chemistry";
                Period8="Bengali";
                break;
            case "Tuesday":
                Period1="Physics";
                Period2="Biology";
                Period3="Computer";
                Period4="English (Poetry)";
                Period5="Recees";
                Period6="Math (Sreemoyee mam)";
                Period7="Bengali";
                Period8="Math (soumik sir)";
                break;
            case "Wednesday":
                Period1="Physics";
                Period2="Bengali";
                Period3="Computer";
                Period4="Biology";
                Period5="Recees";
                Period6="Math (Sremoyee mam)";
                Period7="English (Grammar)";
                Period8="Games";
                break;
            case "Thursday":
                Period1="Chemistry";
                Period2="Bengali";
                Period3="Math (Soumik sir)";
                Period4="English (Merchant of Venice)";
                Period5="Recees";
                Period6="Biology";
                Period7="Geography";
                Period8="History";
                break;
            case "Friday":
                Period1="Physics";
                Period2="Chemistry";
                Period3="Geography";
                Period4="History";
                Period5="Recees";
                Period6="Math (Soumik sir)";
                Period7="English";
                Period8="Bengali";
                break;
            case "Saturday":
                Period1="Physics";
                Period2="Chemistry";
                Period3="Biology";
                Period4="Recees";
                Period5="English";
                Period6="Computer";
                Period7="";
                Period8="";
                break;
        }

      String [] result= {Period1,Period2,Period3,Period4,Period5,Period6,Period7,Period8};
        return result;
    }

    public static void main()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the name of the day");
        Routine ob=new Routine();
        String day=sc.next();
        String res [] = ob.myMethod(day);
        for(int i = 0 ; i<res.length ; i++){
            System.out.println(res[i]);
        }
        System.out.println("****************");
    }
}
Другие вопросы по тегам