Posted by:jasonwing27
Posted on:2005-09-20 20:16
WHY ,我知道想下面这样写就可以了,但是我就是想弄明白上面那么写为什么错了.
import java.io.* ;
public class Jason {
int conditionB = 120 ;
String conditionAOne = "" ;
String conditionATwo = "" ;
boolean a ;
boolean b ;
BufferedReader in = new BufferedReader( new InputStreamReader (System.in) ) ;
public static void main(String[] args) throws IOException {
Jason rw = new Jason() ;
rw.condition() ;
rw.opinion() ;
}
public void condition() throws IOException {
//条件A的判断
System.out.println( "请输入A条件1:" ) ;
try{
conditionAOne = in.readLine() ;
}catch(IOException e)
{
System.out.println("您输入的是:" + e.toString() + "条件A1错误");
}
System.out.println( "请输入A条件2:" ) ;
try{
conditionATwo = in.readLine() ;
}catch(IOException e)
{
System.out.println("您输入的是:" + e.toString() + "条件A2错误");
}
if( ((conditionAOne.compareTo("a")>=0 && conditionAOne.compareTo("z")<=0) || (conditionAOne.compareTo("A")>=0 && conditionAOne.compareTo("Z")<=0)) ||
((conditionATwo.compareTo("a")>=0 && conditionATwo.compareTo("z")<=0) || (conditionATwo.compareTo("A")>=0 && conditionATwo.compareTo("Z")<=0)) )
{
System.out.println("条件A正确!") ;
a = true ;
}
else{
System.out.println("条件A错误!") ;
a = false ;
}
//条件B的判断
System.out.println( "请输入B条件:" ) ;
try{
conditionB = Integer.parseInt(in.readLine()) ;
if( conditionB >= 0 && conditionB <= 10 )
{
System.out.println("条件B正确!") ;
b = true ;
}
else{
System.out.println("条件B错误!") ;
b = false ;
}
}catch(NumberFormatException e)
{
System.out.println("条件B错误");
}
}
public void opinion() throws IOException {
//只有A和B都为真才能打印正确
if( a&&b )
System.out.println("正确!") ;
else
System.out.println("W!") ;
}
}