4

我是 Java 的初学者,我正在制作一个简单的文本 RPG,我想将字符信息存储在一个类中,例如 Name、Job、Age 等。例如:

class myChar
{
    String name = "";
    String job = "";
    int age = 0;
    //set, get, etc...
}

我希望用户能够被问到他们的名字、工作等是什么,并将其传回课堂,以便以后可以提取。我非常了解如何使用 int 执行此操作,例如我有一个 Stats 类,其中存储了 HP、攻击力等:

class Stats // Demonstrates Class
{
    int hp = 10;
    //set, get, etc...
    public int hit() // Player is hit
    {
        hp --;
        return hp;
    }
}

所以正如你所看到的,我对它有一点了解,但我不太确定如何获取它,以便玩家可以输入此信息并将其存储。我理解这种用法​​:

Stats myStats = new Stats("John", "Warrior", 30);

当谈到识别信息时,而不是如何让玩家自己选择它。对不起,如果我听起来太模糊,我会根据需要更新我的帖子!

编辑:我有一个主要的公共课程,其中包含不同的“房间”等。这很长,我知道如何获得用户输入。例如,我有一个命令窗口,允许用户“查看”、“使用”、“获取”等。所以我非常了解用户输入。我只是不知道如何让用户输入信息并将此信息存储在外部类中以供以后调用。

4

4 回答 4

3

据我了解,您希望有某种用户输入,然后将此信息传递给班级。

你可以这样做:

import java.io.Reader;

//Receive input from System.in - console
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

System.out.print("Enter the character's name!");
String name = br.readLine(); //Read line from input

System.out.print("Enter the job you want!");
String job = br.readLine();

System.out.print("What's your character's age?");
int age = Integer.parseInt(br.readLine());

myChar character = new myChar(name, type, age);
于 2013-05-12T23:05:52.267 回答
1

如果我理解正确,您在程序开始时从用户那里获取输入时遇到问题。您可以为此使用 Console 类:

Console console = System.console();
String input = console.readLine("Enter input:");

或者,例如, Scanner 类:

Scanner reader = new Scanner(System.in);
System.out.println("Enter the first number");
//get user input for a
String input = reader.nextLine();

该类Scanner在以不同形式获取输入时非常灵活,您可以在此处阅读文档:http: //docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

于 2013-05-12T23:04:57.877 回答
1

要写给用户,你写的是标准输出。您可以简单地使用: System.out.println(yourString);

你可以有这个:

public class Stats
{
  private static Scanner in = new Scanner(System.in);//need to import java.util.Scanner;
  private String name;
  private String occupation;
  private int age;

  public Stats()
  {   //NB: you should error check, this is just a simple example
      System.out.println("Enter name");
      name=in.nextLine();
      System.out.println("Enter occupation");
      occupation=in.nextLine();
      System.out.println("Enter age");
      age=in.nextInt();
  }
}
于 2013-05-12T23:09:12.253 回答
0

这是阅读用户输入的经典问题。一个好的起点是学习如何使用控制台和 Scanner 类以字符串的形式获取信息。不要忘记你需要一个 main 方法来运行你的程序。这是一个起点。

http://www.java-made-easy.com/java-scanner.html

于 2013-05-12T23:06:14.547 回答