学习Java时遇到的问题
Q1 输出流混乱
Scanner in = new Scanner ( System . in );
boolean okay ;
do {
System . out . print ( "Enter a number: " );
if ( in . hasNextDouble ()) {
okay = true ;
} else {
okay = false ;
String word = in . next ();
System . err . println ( word + " is not a number" );
}
} while ( ! okay );
double x = in . nextDouble ();
当输入非数字时,会先输出 Enter a number:
,再提示错误信息,如:
Enter a number: h
Enter a number: h is not a number
Q2 starting index?
int index = fruit . indexOf ( 'a' , 2 );
If the letter happens to appear at the starting index, the starting index is the answer. So fruit.indexOf('a', 5)
returns 5
.
What does it mean?
超出个数选最后那个?
Q3 如何在终端运行Java程序呢
Q4 debug: BigInteger Pow
public static BigInteger bigPow ( BigInteger x , BigInteger n ) {
if ( n . equals ( BigInteger . ZERO )) {
return BigInteger . ONE ;
}
if ( n . equals ( BigInteger . ONE )) {
return x ;
}
BigInteger t = bigPow ( x , n . divide ( BigInteger . TWO ));
BigInteger result ;
if ( n . divide ( BigInteger . TWO ). equals ( BigInteger . ZERO )) {
result = t . multiply ( t );
} else {
result = t . multiply ( t ). multiply ( x );
}
return result ;
}