-2
私は、常に値が1または0のint配列の出力を与える関数を持っています。これは可能な出力のいくつかの例です:入力としてこれを使用int配列とJavaの文字列配列を関連付けます
[1, 1, 0, 1, 0] or [0, 0, 1, 0, 1] or [1, 1, 1, 1, 1]
、I 1が文字列配列になることを示し、0はことを示す文字列の配列とこのint配列を関連付けするJava関数を作成する必要がありますそれは配列に含まれません。例えば:
[1, 1, 1, 1, 1] => ["Tweet", "Email", "Text", "Phone Call", "Voicemail"]
[0, 1, 1, 0, 1] => ["", "Email", "Text", "", "Voicemail"]
[0, 0, 0, 0, 0] => ["", "", "", "", ""]
私はこのような何かをやっていると考えることができますすべて:
public String[] myFunc(int[] arr) {
String[] output = [5];
for (int i = 0; i < arr.length; i++) {
switch (i) {
case 0:
if (arr[i] == 1)
output[i] = "Tweet";
else
output[i] = "";
break;
case 1:
if (arr[i] == 1)
output[i] = "Email";
else
output[i] = "";
break;
case 2:
if (arr[i] == 1)
output[i] = "Text";
else
output[i] = "";
break;
case 3:
if (arr[i] == 1)
output[i] = "Phone Call";
else
output[i] = "";
break;
case 4:
if (arr[i] == 1)
output[i] = "Voicemail";
else
output[i] = "";
break;
}
}
return output;
}
これはかなり醜いソリューションです、と私は確信している、それはいくつかの種類を実装することによって、より良い行うことができますオブジェクトの値をマップするが、私はあまりJavaに精通していないと助けを感謝します!
http://idownvotedbecau.se/noattempt/ – bcsb1001
'IntStream.range(0、ints.length).MAPを試してみてください(I - > int型[I] == 0 ""? :strings [i])。toArray(String [] :: new) ' – shmosel