簡體   English   中英

我的程序沒有運行 main 方法,這是為什么呢?

[英]My program doesn't run the main method, why is that?

出於某種原因,我的主要方法沒有運行。 我不知道為什么。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

import static java.lang.System.out;

public class Main {
   // public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    public static Scanner input = new Scanner(System.in);
    public static Scanner stringInput = new Scanner(System.in);
    public static int UInput = input.nextInt();
    public static String[] usrNamePass = new String[3];

    public static void main(String[] args) throws IOException {
        out.println("Welcome to XYZ Bank! Please Login by typing  \n  Register by pressing 1");
        if(UInput == 1){
            registrationMsg();
        }
    }

    static void registrationMsg() throws IOException {
        out.println("Welcome to registration, please type your username followed by your password ");
        registration();
    }

    static void registration() throws IOException {
        out.println("Enter a username");
        usrNamePass[1] = input.next();
        out.println("Enter Password");
        usrNamePass[2] = input.next();
        out.println("Confirm your password");
        usrNamePass[3] = input.next();

        if (usrNamePass[2] == usrNamePass[3]){
            out.println("Are you sure you want your username to be " + usrNamePass[1]);
            Login();
        }
        else {
            out.println("Passwords do not match, please try again by pressing 1");
            if (UInput == 1){
                registration();
            }
        }

    }

 


}

我不知道為什么它不運行 main 方法。 這是我的IDE自動創建的主文件; 智能

我過去做過類似的程序,它們都按應有的方式工作。 我對為什么我的主要方法甚至沒有運行感到困惑。

public static int UInput = input.nextInt(); 是 static 初始化程序,因此它在您的main()方法中的println之前調用,因此您的應用程序在將任何內容打印到控制台之前等待用戶輸入。

您可能希望將代碼替換為以下內容:

public static int UInput = 0;

...

    public static void main(String[] args) throws IOException {
        out.println("Welcome to XYZ Bank! Please Login by typing  \n  Register by pressing 1");
        UInput = input.nextInt();
        if (UInput == 1) {
            registrationMsg();
        }
    }

它工作正常,您需要在運行代碼后輸入一個 int 才能進一步執行它。

這是它的外觀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM