Java Scanner NoSuchElementException
½ñÌìͬѧÎÊÎÒÒ»¸öJavaÎÊÌ⣬´úÂë½á¹¹ÈçÏ£º
Scanner scan = new Scanner(System.in);
scan.next();
scan.close();
scan = new Scanner(System.in);
scan.next();
µ±³ÌÐòÔËÐе½µÚÎåÐÐÊÇ»áÅ׳öjava.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:838)
at java.util.Scanner.next(Scanner.java:1347)
ÓÚÊǰ´ÕÕ´íÎóÕ»µÄ¹ì¼£²éÕÒÔÒò¡£
¼òÒªµÄ˵£¬¾ÍÊÇǰºóÁ½´ÎʵÀý»¯µÄ²ÎÊýSystem.inÊÇÓÃÒ»¸ö¶ÔÏó£¬ÊÇInputStreamReader¶ÔÏó£¬Ã¿¸ö¸Ã¶ÔÏó°üº¬Ò»¸ö
StreamDecoder ʵÀý sd
private final StreamDecoder sd;
¶øscan.close()·½·¨Îª
public void close() {
if (closed)
return;
if (source instanceof Closeable) {
try {
((Closeable)source).close();
} catch (IOException ioe) {
lastException = ioe;
}
}
sourceClosed = true;
source = null;
closed = true;
}
µ±Ö´Ðе½ ((Closeable)source).close();¾Í»á½øÈëInputStreamReaderµÄclose()·½·¨£º
public void close() throws IOException {
sd.close();
}
ÕâÀïµÄsd¾ÍÊÇÉÏÃæÌáµ½µÄInputStreamReader¶ÔÏ󣬣¨ÓвéÁËStreamDecoder Ô´´úÂ룬µ«Ã»¸üÉîÈëÏÂÈ¥£©£¬´ËʱsdÒѹرա£
µ±Ö´ÐÐÈç´íÎó²úÉú´úÂëµÄµÚ5ÐдúÂë scan.next()ʱ£¬
public String next() {
ensureOpen();
clearCaches();
while (true) {
String token = getCompleteTokenInBuffer(null);
if (token != null) {
matchValid <mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js" mce_src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js"></mce:script><mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/lan
Ïà¹ØÎĵµ£º
¹Ø¼ü×Ö: java.e800.com.cn/articles/2007/413/1176400876794405339_1.htm
http://java.e800.com.cn/articles/2007/413/1176400876794405339_1.html
±àÕß°´£ºJavaÄÚ´æÐ¹Â©ÊÇÿ¸öJava³ÌÐòÔ±¶¼»áÓöµ½µÄÎÊÌ⣬³ÌÐòÔÚ±¾µØÔËÐÐÒ»ÇÐÕý³££¬¿ÉÊDz¼Êðµ½Ô¶¶Ë¾Í»á³öÏÖÄÚ´æÎÞÏÞÖÆµÄÔö³¤£¬×îºóϵͳ̱»¾£¬ÄÇôÈçºÎ×î¿ì×îºÃµÄ¼ì²â³ÌÐòµÄÎ ......
³éÏóÀà¾ÍÊDz»ÄÜʹÓÃnew·½·¨½øÐÐʵÀý»¯µÄÀ࣬¼´Ã»ÓоßÌåʵÀý¶ÔÏóµÄÀà¡£³éÏóÀàÓеãÀàËÆ“Ä£°å”µÄ×÷Óã¬Ä¿µÄÊǸù¾ÝÆä¸ñʽÀ´´´½¨ºÍÐÞ¸ÄеÄÀà¡£¶ÔÏó²»ÄÜÓɳéÏóÀàÖ±½Ó´´½¨£¬Ö»¿ÉÒÔͨ¹ý³éÏóÀàÅÉÉú³öеÄ×ÓÀ࣬ÔÙÓÉÆä×ÓÀàÀ´´´½¨¶ÔÏó¡£µ±Ò»¸öÀà±»ÉùÃ÷Ϊ³éÏóÀàʱ£¬ÒªÔÚÕâ¸öÀàÇ°Ãæ¼ÓÉÏÐÞÊηûabstract¡£
&nbs ......
½ñÌì¹Û¿´ÁËÀ¶É½ÀÏʦjava±³ºóµÄÃØÃÜÏà¹ØÊÓÆµ£¬·¢ÏÖÒªÏëд³ö¸ßÐÔÄܵijÌÐò£¬Ò»¶¨Òª¶ÔÆäÔËÐÐÔÀíÒÔ¼°ÆäÔËÐл·¾³ÓÐÏ൱³Ì¶ÈµÄÁ˽⡣ÄÇClassLoaderÊÇÏ൱¹Ø¼üµÄÒ»¸ö²¿·Ö¡£
ÏÈ˵ÏÂjava³ÌÐòÔËÐеĻù±¾Á÷³Ì£¬ÏȽ«javaÎļþ±àÒëΪclassÎļþ£¬È»ºóͨ¹ýClassLoader£¨Àà¼ÓÔØÆ÷£©£¬¼ÓÔØµ½Runtime Data Area£¨ÀàËÆÓÚÄڴ棩ÖÐ ......
import java.util.Scanner;
public class Game{
void welcome(){
println("»¶ÓÀ´µ½¼ôµ¶Ê¯Í·²¼ÓÎÏ·");
}
Choice getUserChoice(){
println("ÇëÑ¡Ôñ\t[1]¼ôµ¶\t[2]ʯͷ\t[3]²¼");
Scanner sc= new Scanner(System.in);
int userCh ......