我如何使用int和printf

时间:2016-07-01 01:59:52

标签: java

我需要在我的程序中使用以下内容,而不确定如何使其工作。

  

要求用户输入他们的名字(字符串变量)和年龄(int   变量)。

另外,我需要使用printf语句显示他们的姓名,年龄和欢迎信息。

这是我到目前为止所拥有的。谁能帮我?请

package myfirstprogram;

import java.util.Scanner;


public class MyFirstProgram {


    public static void main(String[] args) {
       String name;
       int age; 
        Scanner sc = new Scanner(System.in);

        System.out.printf("Please Type Your Name then press the Enter key.");
        System.out.printf("Please Type Your Age then press the Enter Key.");
        name = sc.next();
        age = sc.next();
        System.out.printf("Hello. My name is " + name + ", I am pleased to meet you.");
        System.out.printf("Your Age is " + age);
        System.out.printf("Hello and Welcome, " + name);
    }

}

2 个答案:

答案 0 :(得分:1)

您是否尝试编译代码以查看其中包含的错误? 您是否正在使用GUI程序(如Eclipse等)来编译代码?或command-line上的javac?无论哪种方式,您的代码都会编译错误:

javac myfirstprogram/MyFirstProgram.java
myfirstprogram/MyFirstProgram.java:17: incompatible types
found   : java.lang.String
required: int
        age = sc.next();
                     ^
1 error

这就是说,正如shmosel和其他人在评论中正确指出的那样,Scanner.next()会返回一个字符串,当你获得用户的name输入时,这是很好的。输入String,但由于您已将age定义为age,因此对int输入不起作用。 所以要#34;让它工作"你需要做的,因为编译器指示将第17行更改为:
age = sc.nextInt();
然后你的程序应该"工作"如你所料。

希望这有帮助!

答案 1 :(得分:0)

我会尝试这样的事情:

public static void main(String[] args) {
    String name;
    int age;
    Scanner sc = new Scanner(System.in);
    System.out.printf("Please enter your name");
    name = sc.next();
    System.out.printf("Please enter your age");
    age = sc.nextInt();
    System.out.printf("Hello " + name + "\nYour age is: " + age);
    sc.close();
}

此代码工作的原因是,正如其他人所说,age变量是一个整数,而不是String(sc.next()返回的内容)。此外,分离这两个问题要容易得多,因为这样程序可以很容易地区分输入的年龄和名称。

如果您希望它更多一些失败证明,您可以抛出一个异常,检查用户是否未将String作为整数输入。

查看库在Java中如何工作的好地方是Stackoverflow和Java API网站(取决于您的Java版本,有不同的站点)

Java™ Platform, Standard Edition 7 API Specification

Java™ Platform, Standard Edition 8 API Specification

如果您需要Java中的任何其他内容的帮助,并且上述内容很复杂,请尝试以下网站:

Tutorials Point - Java

祝你好运!