私はコンストラクタについて学んでいます。
次のコードをコンパイルしようとすると、「変数の入力と形状が初期化されていません」というエラーが表示されます。変数を内部に持つLuseコンストラクタ
誰も私にそれを解決する方法と方法を教えてもらえますか?
public class Try {
public static void main(String[] args)
{
String input;//user key in the height and width
int shape;//triangle or square
Count gen = new Count(input , shape);//is this the right way to code?
gen.solve();
}
}
public class Count {
public Count(String inp, int shp) {
String input_value = inp;
shape_type = shp;
}
public void solve() {
if shape_type==3{
//count the triangle
}
else if shape_type==4{
//count the square
}
}
}
変数を初期化する必要があります。それは重要ではありませんが、入力の場合はオブジェクトであり、そうでなければ初期化する必要があります。それ以外の場合はプログラムがクラッシュします。あなたは少なくともinput = nullを行うべきですが、その文字列からinput = ""を行う必要があります。または入力=新しいString();またはテキストを入力します。 –
あなたがする必要があるのは、 'input = null'と' shape = 0'(例えば)です。それはあなたのコードが必然的に機能することを意味しません。 – hisdrewness