본문 바로가기
Java/Java Examples

[Java Examples] 다중 if문을 활용한 Troubleshooting 문제 해결 예제코드 및 설명

by Henry Cho 2024. 2. 14.
728x90

다중 if문을 활용한 Troubleshooting 문제 해결 예제코드 및 설명

포스트 난이도: HOO_Junior


# Example Code

import java.util.Scanner;

/**
 * This class provides a step-by-step troubleshooting guide for fixing Wi-Fi connection issues.
 */
public class WifiTroubleshooter {
    
    // Scanner for user input
    private static final Scanner scanner = new Scanner(System.in);

    /**
     * The main method starts the troubleshooting process.
     * @param args Not used in this application.
     */
    public static void main(String[] args) {
        // Start the troubleshooting process
        troubleshootConnection();
        scanner.close(); // Close the scanner when done
    }

    /**
     * This method guides the user through steps to troubleshoot Wi-Fi connection issues.
     */
    private static void troubleshootConnection() {
        // Check if rebooting the computer fixes the issue
        if (!attemptFix("Reboot the computer and try to connect.")) {
            // Check if rebooting the router fixes the issue
            if (!attemptFix("Reboot the router and try to connect.")) {
                // Check if securing the cables fixes the issue
                if (!attemptFix("Make sure the cables between the router & modem are plugged in firmly.")) {
                    // Check if moving the router fixes the issue
                    if (!attemptFix("Move the router to a new location and try to connect.")) {
                        // Final step if none of the above worked
                        System.out.println("Get a new router.");
                    }
                }
            }
        }
    }

    /**
     * This method prints the instruction and checks if the user's issue is fixed.
     * @param instruction Instruction to be printed for the user.
     * @return true if the issue is fixed, false otherwise.
     */
    private static boolean attemptFix(String instruction) {
        System.out.println(instruction);
        System.out.print("Did that fix the problem? (yes/no): ");
        String response = scanner.nextLine();
        return response.equalsIgnoreCase("yes");
    }
}

Figure 1. Result of example code


# Explanations

이번 예제코드는 다중 if문을 사용해서 단계별 문제 해결 방법에 대한 예시를 살펴볼 수 있다. 예제의 상황은 와이파이 연결이 되지 않을 때 사용자에게 'yes'와 'no'를 입력받아 조건에 따라서 결과를 달리 산출해 낸다. 따라서 코드가 nested if문과 다중 if문 구조로 이루어졌을 때 어떠한 결과를 산출해 내는지를 이번 포스트를 통해서 리뷰가 가능하다.


 

728x90

댓글