QA@IT
«質問へ戻る

質問を投稿

このエラーはどうすれば・・・

public class Program {
public void output() {
int a,b,c;
double re1, re2, im1,im2, D;

          a = 2;
          b = -5;
          c = 2;

          D=b * b - 4 * a * c;
          if (D > 0) {
              re1 = (-b + Math.sqrt(D)) / (2 * a);
              re2 = (-b - Math.sqrt(D)) / (2 * a);
              im1 = 0;
              im2 = 0;
          } else if (D == 0) {
               re1 = -b / (2 * a);
               im1 = 0;
          } else {
               re1 = re2 = -b / (2*a);
               im1 = im2 = Math.sqrt(-D) / (2 * a);
          }

          if (D == 0) {
              System.out.println("x = " + re1 + " + " + im1 + "i");
          } else {
          System.out.println("x = " + re1 + " + " + im1 + "i, "
                                      + re2 + " + " + im2 + "i");
          }
   }
   public static void main(String[] args) {
          Program p = new Program();
          p.output();
    }

}

Message

Program.java:28: error: variable re2 might not have been initialized
+ re2 + " + " + im2 + "i");
^
Program.java:28: error: variable im2 might not have been initialized
+ re2 + " + " + im2 + "i");
^
2 errors

他のサイトできいたところ無下にされたので再質問です。
自分で何度も調べましたがよくエラーの意味が理解できません。
eclipseに書いてあった通り、
上から4行目をre2=0,im2=0にしましたが、解決できませんでした。
どうすればいいでしょうか。

public class Program {
       public void output() {
              int a,b,c;
              double re1, re2, im1,im2, D;

              a = 2;
              b = -5;
              c = 2;

              D=b * b - 4 * a * c;
              if (D > 0) {
                  re1 = (-b + Math.sqrt(D)) / (2 * a);
                  re2 = (-b - Math.sqrt(D)) / (2 * a);
                  im1 = 0;
                  im2 = 0;
              } else if (D == 0) {
                   re1 = -b / (2 * a);
                   im1 = 0;
              } else {
                   re1 = re2 = -b / (2*a);
                   im1 = im2 = Math.sqrt(-D) / (2 * a);
              }

              if (D == 0) {
                  System.out.println("x = " + re1 + " + " + im1 + "i");
              } else {
              System.out.println("x = " + re1 + " + " + im1 + "i, "
                                          + re2 + " + " + im2 + "i");
              }
       }
       public static void main(String[] args) {
              Program p = new Program();
              p.output();
        }
  }

Message

Program.java:28: error: variable re2 might not have been initialized
                                          + re2 + " + " + im2 + "i");
                                            ^
Program.java:28: error: variable im2 might not have been initialized
                                          + re2 + " + " + im2 + "i");
                                                          ^
2 errors

他のサイトできいたところ無下にされたので再質問です。
自分で何度も調べましたがよくエラーの意味が理解できません。
eclipseに書いてあった通り、
上から4行目をre2=0,im2=0にしましたが、解決できませんでした。
どうすればいいでしょうか。