在我的代码中,当我输入一个单词时,我得到一个没有这样的元素异常。它确实输出了这个词和hang子手,但是这样做后也会崩溃。这是什么原因造成的?我该如何解决? 以下是错误的开始:什么原因导致没有这样的元素异常
Exception in thread "AWT-EventQueue-1" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at Hangman.paint(Hangman.java:50)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
而且这将是很难改变我的代码,以便每次计算机猜测它绘制的刽子手,而不是它的所有出现在执行计划的一个组成部分时间?
import java.util.Scanner;
import javax.swing.JApplet;
import java.awt.*;
public class Hangman extends JApplet
{
public void paint (Graphics Page)
{
//gallows
Page.drawLine(0,300,20,300);
Page.drawLine(10,40,10,300);
Page.drawLine(10,40,80,40);
Page.drawLine(80,40,80,55);
//torso
Page.drawOval(50,55,50,55);
Page.drawOval(50,100,50,100);
//left arm and hand
Page.drawLine(50,150,40,110);
Page.drawLine(40,110, 45,100);
Page.drawLine(40,110, 25,100);
Page.drawLine(40,110, 25,115);
//right arm and hand
Page.drawLine(100,150,120,110);
Page.drawLine(120,110, 115,95);
Page.drawLine(120,110, 125,95);
Page.drawLine(120,110, 135,115);
//left leg and foot
Page.drawLine(80,200,100,250);
Page.drawLine(100,250, 115,260);
//right leg and foot
Page.drawLine(75,200,60,250);
Page.drawLine(60,250,45,260);
Scanner in = new Scanner(System.in);
System.out.println("Enter a 4 or 5 letter word and the computer will play hangman against you!");
String word = in.nextLine();
char[] letter = word.toCharArray();
for (int i = 0; i < letter.length; i++) {
letter[i] = 'a';
}
for (int i = 0; i < word.length(); i++){
for (int j = 48; j < 122; j++) {
if (letter[i] == word.charAt(i)) {
break;
} else {
letter[i] = (char)((int) j + 1);
}
}
}
System.out.println("Your word is: ");
for (char letters : letter) {
System.out.print(letters);
}
in.close();
}
}
请您分享实际的异常消息吗?通常它会有一个可以提供线索的行号 – fdsa
这很长,但是这里是它的开始: 线程“AWT-EventQueue-1”中的异常java.util.NoSuchElementException:未找到行 \t at java.util。 Scanner.nextLine(来源不明) \t在Hangman.paint(Hangman.java:50) \t在javax.swing.RepaintManager中的$ 3.run(来源不明) \t在javax.swing.RepaintManager中的$ 3.run(来源不明) – user3112609