2016-10-19 7 views
-1

1「をモジュールに文字列から変換することはできません」: 重複ローカル変数:Javaは、「ローカル変数を複製」と

だから私は一種の新しいプログラミング/ Javaへと私はMCPの小さなクライアントをコーディングしてみました( Minecraft mod coder pack)とfirst off:私はそれがサービス条件に違反していることを知っていますが、私はより良いコーダーになるためにそれを使用しています、私はクライアントを売ったり、誰にも渡しません。今まで私は、コマンドのすべての改造を切り替えるしようとすると、

は、だから私は、これらの奇妙なエラーを得た:http://prnt.sc/cw9ys0たぶん

 Module m; 
    if (messageLow.startsWith(".t")) { 
    try 
    { 
     String input = messageLow.substring(3); 
     for (Iterator localIterator = Boi.moduleManager.mods.iterator(); localIterator.hasNext();) 
     { 
     m = (Module)localIterator.next(); 
     if (m.name.toLowerCase().equals(input)) { 
      m.toggleMod(); 
     } 
     } 
    } 
    catch (Exception localException) {} 
    } 
    if ((messageLow.equalsIgnoreCase(".a")) || (messageLow.equalsIgnoreCase(".all"))) { 
    for (Module m : Boi.moduleManager.mods) { 
     if ((!m.isEnabled) && 
     (!m.isMinimod)) { 
     m.toggleMod(); 

私はちょうど愚かな演技していますが、私はちょうど

をM1にそれらの名前を変更することができるとは思いません

2: は、モジュールへの文字列から変換することはできません。

だから私は、コマンドの設定を変更しようとしていますが、このエラーはアップポッピンを続けているこのいずれかに:http://prnt.sc/cwa0wq

String input = messageLow.substring(12); 
     switch ((m = input).hashCode()) 

申し訳ございませんが、何かが十分明確になっていない場合は、私はコメントで回答します!あなたは、変数mを再定義し

+0

関連するコードをここに掲載してください。スクリーンショットをご覧ください。 – rmlan

+0

質問内にテキストとしてコードを含めてください。 – SomeJavaGuy

+0

私はちょうどあなたがエラーを見ることができるように、スクリーンショットを使用しました、申し訳ありません! – ZuckerKuchen

答えて

2
  1. 、それはコードの1行目にし、再度forループである:for (Module m : Boi.moduleManager.mods) {--

  2. あなたはモジュールの変数mに変数input文字列を代入しようとしました、 switchコマンド内のm = input部分に注意してください。これはJavaでは許可されていません。

+0

それで、2番目の代替手段はありますか? – ZuckerKuchen

+0

@ZuckerKuchenこれに答えるために、クラス「モジュール」の定義とそこで何を達成しようとしているのかについての説明を見るべきです。一見すると、 'input.hashCode()'は 'switch'コマンド(' m = input' stuffなし)の中に入れても問題ないと思われます。 'hashCode()'でswitch-caseを実行したいと仮定します。入力文字列の –