こんにちは親愛なるプログラマ、Java演算子の論理&&および||
私はその後、私は、配列にこの文字列内のすべての数値を保存したい文字列String input = "30.09.1993";
を持っている(数字のみ!)。 "。"インデックス2と5にあるので、if文でループ内の文字列のこれらの部分をスキップします。
問題はすべて修正されましたが、すべて正常に動作しますが、&&
と||
オペレータのロジックと混同しています。
これは私の作業コードです:
String input = "30.09.1993";
int[] eachNumbers = new int[8];
int x = 0;
for(int i = 0; i <= 9; i++){
if(i != 2 && i != 5){
eachNumbers[x] = Integer.parseInt(input.substring(i, i+1));
x++;
}
}
そして、これは仕事をdoesntのコードです:これらの2つのコードスニペットの唯一の違い
String input = "30.09.1993";
int[] eachNumbers = new int[8];
int x = 0;
for(int i = 0; i <= 9; i++){
if(i != 2 || i != 5){
eachNumbers[x] = Integer.parseInt(input.substring(i, i+1));
x++;
}
}
は、if節での演算子です。
私はこれらの演算子の結果であると考え:私の意見ではそう
false + false = false
true + false = true
false + true = true
true + true = true
2番目のコードスニペット:
&&
オペレータ:
false + false = false
true + false = false
false + true = false
true + true = true
||
オペレータ動作し、最初のスローする必要がありますa NumberFormatException
。しかしそれはそうではありません。
私は何をしているのかにはより良い解決策があると確信していますが、私の質問は私のif文のロジックだけです。誰かが私の背後にある論理を説明することができますか?私は完全に混乱し、すべての助けの答えに感謝しています。第二のスニペットで
挨拶 ルーカスWarsitz
あなたの答えをしばらく考えた後、私はそれを理解しました。 –