2013-05-12 83 views
4

我與Java初學者,我做一個簡單的文本RPG,我想存儲字符信息的一類,如姓名,職位,年齡等。例如:傳遞/存儲一個類的信息?

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

我希望用戶能夠被問到他們的姓名,工作等等,然後將其傳回班級,以便稍後可以將其拉出。我知道如何用整數做的相當不錯,比如我有在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); 

當談到識別信息,而不是如何讓玩家自己選擇它。如果我聽起來太模糊,我很抱歉,我會根據需要更新我的帖子!

編輯:我有一個主要的公開課,其中包含不同的「房間」等。這很長,我知道如何獲得用戶輸入。例如,我有一個允許用戶「查看」,「使用」,「獲取」等的命令窗口,因此我理解用戶輸入相當好。我只是不知道如何讓用戶輸入信息並將這些信息存儲在外部課程中,以便後續調用。

+0

你到底需要什麼?輸入輸出? – Elazar 2013-05-12 23:03:12

+0

我知道如何輸出信息,所以是的,我想了解如何讓用戶輸入信息,以便稍後調用。 – Hydlide 2013-05-12 23:07:44

回答

1

如果我理解正確,那麼您在程序開始時就會遇到來自用戶的輸入問題。您可以使用Console類爲:

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

或者,例如,掃描儀類:

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

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); 
+0

謝謝,我現在就試試。 – Hydlide 2013-05-12 23:06:46

+0

什麼是一種尷尬的語言: -/ – Elazar 2013-05-12 23:09:54

+0

這幾乎是我正在尋找的,但我不確定緩衝讀取器是什麼,它似乎並不喜歡它。我是否需要導入某些內容才能使其工作?我會在Google上更多地關注它。 – Hydlide 2013-05-12 23:17:10

0

這是讀取用戶輸入的一個經典問題。開始的一個好地方是學習如何使用控制檯和Scanner類以String形式獲取信息。不要忘了你需要一個主要的方法來運行你的程序。這是一個起點。

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

+0

感謝您的鏈接,我會檢查出來! – Hydlide 2013-05-12 23:07:03

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(); 
    } 
}