1

スキャナーを使用してテキストファイルから取得しています。while ループの外側から info1 にアクセスしようとすると、変数 info1 が初期化されていない可能性がありますが、while ループの外側で既に初期化されていると表示されます。コードを使用して while ループの外側からアクセスするにはどうすればよいですか?

String info1,info2,info3,info4,info5,info6,info7;
boolean infoTrue = true;
do{ 
while(custInfo.hasNext())
  {

  info1 = custInfo.next();
  info2 = custInfo.next();
  info3 = custInfo.next();
  info4 = custInfo.next();
  info5 = custInfo.next();
  info6 = custInfo.next();
  info7 = custInfo.next(); 

  if(info2== loginID && info3==password)
  {
    infoTrue=false;
  }
  }
 }while(infoTrue!=false);
  System.out.println(info1);
4

3 に答える 3

1
String info1,info2,info3,info4,info5,info6,info7;

上記の行は次のとおりです。

String info1="",info2="",info3="",info4="",info5="",info6="",info7="";
于 2013-04-27T15:28:11.077 に答える
1

while ループの前に初期化する必要があります

String info1 = "", info2 = "";//rest is the same
//your loop

のようなショートカットを使用することもできます

String info1 = info2 = info3 = "";
于 2013-04-27T15:25:01.983 に答える
0

コードによると、2 つの while ループがあります。おそらく、最初の while ループ内で初期化した可能性がありますが、両方のループの外でアクセスしています。したがって、両方のループの外で初期化したことを確認してください。

String info="";
do{
    while{
    }
while();
Sysout(info);

また、ブレークポイントを置いて、それがどこに向かっているのか見てみましょう!

于 2013-04-27T15:31:35.127 に答える