java
1 2import java.util.ArrayList; 3import java.util.Arrays; 4import java.util.Scanner; 5public class main { 6 public static void main(String[] args) { 7 ArrayList<String> lotteryBallColor = new ArrayList<String>(); 8 ArrayList<Integer> lotteryBallQuantity = new ArrayList<Integer>(); 9 lotteryBallQuantity = new ArrayList<>(Arrays.asList(1, 2, 3, 5, 10, 20)); 10 String color = ""; 11 int total = 0; 12 for (int quantity : lotteryBallQuantity) { 13 total += quantity; 14 } 15 int random = (int) (Math.random() * total); 16 int targetIndex = 0; 17 color = lotteryBallColor.get(targetIndex); 18 for( color < 3) { 19 20 } 21 22 } 23 24} 25
エラー
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
演算子 < は引数の型 String, int で未定義です
at main.main(main.java:78)
for( color < 3)でエラーが出てしまったのですが、エラー原因がわかりません。
教えていただきたいです。
if( color < 3) {
}
> for( color < 3)
Javaにはそのような構文は存在しません。for文の仕様、使い方を確認してください。

if( color < 3) {
}
で最初実行したのですが、そちらでも実現できなく、同じエラーが出てしまいました。
エラーを消すことを考えるのではなく、意図を反映したコードが文法に照らして正しいかを考えるのが先です。String color; に 整数の大小比較をしようとするのは正しいのでしょうか?

String なのにintでひかくしてました。ありがとうございます。
で、たぶん提示したコードが未完成過ぎるように思えますので、質問の「エラーを取りたい」についてもどう回答してよいか第三者にはわからないと思われます。私は正直、何となく程度にしか分かりません。
例えば color = lotteryBallColor.get(targetIndex); は ArrayList<String> lotteryBallColorから0 の位置の文字列をgetするものですが、その前のコードでlotteryBallColorに文字列を入れている様子がありません。文字列ではなく、整数だとしても if (color < 3) {}が何をしたいコードなのか第三者には現状、分かりません。
いきなり全部コードを書くのではなく、少しづつ書いてコンパイルエラーを取り、実行して思惑通りに動いているか確認した上で進めることをお勧めします。
> 質問の「エラーを取りたい」についてもどう回答してよいか第三者にはわからないと思われます。
コンパイルエラーを取る、解消するだけの回答ならできるでしょうが、実行して別のエラー(例外、Exception)が起こる、要望通りには動かないことはほぼ確実です。
結局解決したのでしょうか。
https://teratail.com/help#resolve-myself

回答1件
あなたの回答
tips
プレビュー