繁体   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