で、この時間は、私はターミナルで、この次のエラーを取得する理由を知りたい:は、Pythonのようにブール値に変数の割り当てを変更するが、Java
Users-MBP:~ user$ javac Testing2.java
Testing2.java:18: error: variable result is already defined in method main(String[])
boolean result = true;
^
1 error
私は次のプログラムを実行しようとすると:
をpublic class Testing2 {
private static int TwiceRepetition(int[] elems) {
///
}
public static void main(String[] args) {
///
}
}
実際には、任意の要素の連続する反復長が2の場合、trueを出力することが望ましい出力です。それ以外の場合は、falseを出力します。
変数には結果が既に定義されているというエラーが表示されます。はい。しかし、Pythonのように再定義することはできませんか?例えば
は、Pythonで、私は(条件が満たされた場合はtrueに、変数の結果を再定義から私を妨げるエラーがありませんという意味)これを実行するために許可されています:
def p1(x):
result = False
i = 0
while i < len(x) - 1:
if x[i]== x[i+1]:
result = True
i = i + 1
return result
が、Javaには、それは動作しません、なぜですか?
'result = true'を実行してください。 Javaはすでに 'result'の型を知っていますので、' Java'は 'Python'ではないので、別の規則を使用するので、 –
を思い出させる必要はありません。 – furas
ちなみに、pythonの方法は 'zip'とリストの理解を使うことです:' def p1(x):任意のaを返す(a == b、a、bをzip(x、x [1:])で返す) ' – DyZ