2017-11-28 7 views
1

配列が文字列でいっぱいで、配列要素からCSVファイルを作成するために配列が使用されますが、値をCSVファイルにダンプする前に実行する必要がありますいくつかの要素にいくつかの乗算。たとえば、配列[0]の値「20」に配列[1]の別の値「100」を掛ける必要があります。文字列配列に多重化アクションを実行する

誰にでもどこから始めるべきかについてのヒントがあります。私はJavaに全く新しいので、私に優しいしてください。

おかげ

+0

データをCSV形式でダンプする方法はわかりませんが、文字列配列の値に 'int a = Integer.parseInt(stringValue); 'を使用してintに変換した後で乗算することができます。 –

+0

CSVの複雑さ(エスケープする...)、例えばhttp://opencsv.sourceforge.net – mgaert

+0

'int a = Integer.parseInt(array [0])* Integer.parseInt(array [1]);' – procrastinator

答えて

2

Stringsを乗算することができません。それらは連結されるだけです。

整数の乗算を行う必要がある場合は、まずStringを整数にキャストして乗算する必要があります。

サンプルコード

public static void main(String args[]) { 
     String[] arr = {"20", "30", "100"}; 

     int num1 = Integer.parseInt(arr[0]); 
     int num2 = Integer.parseInt(arr[2]); 

     System.out.println(num1 * num2); 
} 

出力

2000 
+0

のようにすることができます。正規表現や他の方法を使ってisNumericをチェックする別の関数を書いてください。そうでない場合は、数値以外の配列値を解析する際に例外が発生します。例: 'String [] arr = {" 20 "、" 30 "、" 100p "};'は '100p 'を解析中に例外のために失敗します。 –

0

私には、私はどうなる次:お使いのアレイは、で構成されて

int value = array[0] * array[1] 

わからない場合整数または別の型(Sあなたが値を得た場所に依存します。今

for (int = 0; i < 50; i++){ 
    value = array[i] * array[i + 10] 

あなたが10日後、アレイ内の複数のx番目の位置に行く、としていることを知っていたならば、その具体的な例のみ動作します:あなたが一緒に複数の特定の値に必要な場合は、このような何かを行うことができますその後のポジション。つまり、私は、異なるループを使用して、2つの値を掛け合わせる必要があることを確かめています(ランダムでなく、配列に何らかの形式の論理構造がある限り)。

+0

'i> = 40'の場合に' IndexOutOfBoundsException'をスローします。これは良い選択肢ではありません。 – procrastinator

+0

良い点 - それは何ができるかの例に過ぎませんでした。明らかに異なるアプローチが必要ですが、それは単なる考えでした。 – MRichards

関連する問題