簡體   English   中英

如何創建一個接受用戶輸入的Java程序?

[英]How to create a Java Program that accepts user inputs?

我正在網上解決多項練習,我無法回答。 任務是創建一個程序,該程序接受TITLE-CHARACTER-YEAR格式的輸入,並打印出角色名稱和漫畫的年份類別,如下所示

year less than 2000 and print "90s"
2000 less than or equal to year but less than 2006 and print "early 2000s"
2006 less than or equal to year and print "latest"

我嘗試對其進行編碼,但是我缺乏如何正確運行的邏輯思考。 嘗試搜索語法,但失敗。

public class HelloWorld {

    public static void main(String[] args) {
        String title1 = "Yuyu Hakusho";
        String title2 = "Bleach-Ichigo";
        String title3 = "Bakuman";
        String name1 = "Eugene";
        String name2 = "Ichigo Kurosaki";
        String name3 = "Moritaka Mashiro";
        int year1 = 1994;
        int year2 = 2004;
        int year3 = 2008;


        if (year1 < 2000);
        System.out.println(name1 + " 90s");    
    }
}
if (year1 < 2000);
   System.out.println(name1 + " 90s");

等效於:

if (year1 < 2000) { }
System.out.println(name1 + " 90s"); //will be always executed

刪除多余的; if語句之后:

if (year1 < 2000); 
                 ↑

現在您需要在代碼中包含的其他內容是Scanner 瀏覽文檔以了解如何使用它。

為了允許您的應用程序從用戶輸入中讀取,您有幾種方法。 最簡單的方法是使用Scanner類。 這是一個例子:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print("Hello, please tell me your name: ");
    String name = Scanner.nextLine();
    System.out.println("Hello " + name);
}

有幾種方法可以幫助您解析用戶輸入,例如nextIntnextLine 有關它們的更多信息,請檢查本文開頭鏈接的正確的Javadoc。


除此之外,在編寫block語句時要小心,例如if

if (year1 < 2000);

以上表示如果int變量year1小於2000 ,則無需執行任何操作。

試試這個。

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print(" please tell input with format of TITLE-CHARACTER-YEAR ");
    String input = scanner.nextLine(); //reads the input from console 
    String arr[] = new String[3]; // size ur wish
    arr=input.split("-"); //splits the input with the - delimiter into array of strings
    String name=arr[1]; //contains character
    int year=Integer.parseInt(arr[2]); //contains year
    if(year<2000)
        System.out.println( name + " 90's");
    else if(year>=2000 && year<2006)
        System.out.println(name + " early 2000's");
    else if(year>=2006)
        System.out.println(name + " latest");
}

還有很多其他方法可以做到,簡單易懂的是

對於codingbat.com,請查看此內容。

public String methodName(String input){
     String arr[] = new String[3]; // size ur wish
    arr=input.split("-"); //splits the input with the - delimiter into array of strings
    String name=arr[1]; //contains character
    int year=Integer.parseInt(arr[2]); //contains year
    if(year<2000)
       return  name + " 90's";
    else if(year>=2000 && year<2006)
        return name + " early 2000's";
    else if(year>=2006)
       return name + " latest";
    else 
       return "wrong format";
 }

暫無
暫無

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

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