私はテキストベースのゲームで、シャドウランのデッキをシミュレートするコマンドプロンプトを使い果たしています。理想的には、プレイヤーはすべてのキャラクターの関連情報を含むCSVファイル(65行、2列)を持つことができ、その情報はプログラムにアップロードできる必要があります。CSVファイルの整数を使用して対応する整数を初期化する
私は、csvファイルが正しくロードされていて、ループ内にある間はすべて正しく表示されています。私の人生では、ループから値を取り出す方法や、さまざまな文字の統計値を設定するために使用できるものを理解することはできません。次のように私のコードのスニペットは、次のとおりです。
public class Program {
static int[][] Character = new int[65][2];
public static void main (String[]args) {
Scanner user_input = new Scanner(System.in);
String DeckerName;
System.out.println("What is your name? (Name of your .csv file)"); //Load Decker character
DeckerName = user_input.nextLine();
System.out.println("Alright, " + DeckerName + ". Jacking into the Matrix now...");
String csvFile = "FILE LOCATION";
BufferedReader br = null;
String line = "";
String cvsSplitBy = ",";
Scanner loader = new Scanner(System.in);
//Opens and loads .csv file into an array
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
String characterload[] = line.split(cvsSplitBy);
System.out.println ("" + characterload[0] + ": " + characterload[1]); // for testing purposes, characterload[0] is a text description, characterload[1] is an integer
int intDeckerProgram = Integer.parseInt(characterload[1]);
System.out.println(intDeckerProgram); //for testing purposes
for (int i = 0; i < characterload.length; i++)
{
Character[i][1] = intDeckerProgram;
System.out.println(Character[i][1]); //for testing purposes
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br!= null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
int DeckerDetectionFactor = Character[0][1];
System.out.println(Character[0][1]); //for testing purposes
System.out.println(DeckerDetectionFactor); //for testing purposes
int DeckerHackingPool = Character[1][1];
System.out.println(Character[1][1]); //for testing purposes
System.out.println(DeckerHackingPool); //for testing purposes
TL; DR他のJavaパッケージをダウンロードせずに、どのように私はcharacterload配列にインポート値を持って、そして私の整数が適切に初期化されるように、文字配列にそれらを置くことができます?あなたの時間をありがとう、私は本当にそれを感謝します!
編集:下部の2つの値、DeckerDetectionFactorとDeckerHackingPoolは、それぞれ6と9である必要があります(この情報はCSVファイルから取得されています)。私はこれらの値がCharacter [] []配列に適切にロードされるようにする方法を少し指摘していますので、変数は0にするのではなく、正しく初期化されます。
あなたのコードはあなたが望むようにしているようですので、間違いがありますか? –
最も厳密な意味でのエラーではありませんが、下部のDeckerDetectionFactorとDeckerHackingPoolの2つの値は、それぞれ(CSVから)6と9である必要があります。私のコードを書いたように、0の値が返されてしまいます。私は、Character [] []がループの外にある必要がある値であることを確実にする方法を少し指摘していると思います。 – Aldanius
これは、作業コードのレビューを依頼しており、http://codereview.stackexchange.comに属しているので、この質問をオフトピックとして締結することに投票しています。 –