0

下の図で、totalNotes変数が Eclipse で警告サイン付きで表示されるのはなぜですか? totalNotesforループ内でのみ初期化したことが原因である場合、そのロジックにより、costOfSweet変数も警告記号でマークされるべきではありませんか?

コード: java.io.BufferedReader をインポートします。import java.io.IOException; java.io.InputStreamReader をインポートします。java.util.stream.IntStream をインポートします。

public class BUYING2 {
    static int sum,noOfSweets;
public static void main(String[] args) throws NumberFormatException, IOException {
    BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
    int totalTestCases,costOfSweet,totalNotes;
    int noteDenominations[];
    String firstLineString,secondLineString;
    String secondLineArray[];

    totalTestCases=Integer.parseInt(input.readLine());

    for(int i=0;i<totalTestCases;i++){
        firstLineString=input.readLine();
        secondLineString=input.readLine();
        totalNotes=Integer.parseInt(firstLineString.split(" ")[0]);
        costOfSweet=Integer.parseInt(firstLineString.split(" ")[1]);
        secondLineArray=secondLineString.split(" ");
        noteDenominations=new int[secondLineArray.length];

        for(int k=0;k<secondLineArray.length;k++){
            noteDenominations[k]=Integer.parseInt(secondLineArray[k]);
        }
        System.out.println(getNumberOfSweets(costOfSweet,noteDenominations));
    }
}

public static int getNumberOfSweets(int costOfSweet,int noteDenominations[]) {
    // TODO Auto-generated method stub
    sum=IntStream.of(noteDenominations).sum();
    noOfSweets=sum/costOfSweet;
    int temp;
    for(int j=0;j<noteDenominations.length;j++){
        temp=noteDenominations[j];
        noteDenominations[j]=0;
        if(IntStream.of(noteDenominations).sum()/costOfSweet>=noOfSweets){
            return -1;
        }
        noteDenominations[j]=temp;
    }
    return noOfSweets;
}
}

ここに画像の説明を入力

4

0 に答える 0