我需要在前面加上我不允许在课堂上使用IDE,我必须使用TextPad进行编译和运行。任何帮助将不胜感激。
有两个与此分配相关联的文件,一个名为Lab5,数据文件名为StateCapitals。当我编译程序时,我得到以下错误。我“想”它无法找到同一文件夹中的文件,但它们是。
赋值的目的是生成一个对话框,询问StateCapitals文件中随机选择状态的大写。如果答案与该文件中包含的数组中的数据匹配,则会关闭对话框并打开一个新对话框,告诉用户答案是正确还是错误,以适用者为准。一旦用户进行了10次尝试,程序将显示一个新对话框,其中包含正确和错误答案的数量。
计划代码:
import java.util.*;
import javax.swing.*;
import java.util.Random;
public class Lab5
{
public static void main(String[] args)
{
StateCapitals caps = new StateCapitals();
String [][] stateCapital = caps.GetCapital();
Random rand = new Random();
String [][] answer = new String [49][2];
int col = 0;
// Declare the variables
String stateName = "";
int count = 0;
String capital = "";
int correct = 0;
int wrong = 0;
// Create a scanner
Scanner input = new Scanner(System.in);
while (count < 10)
{
int randNum = rand.nextInt (48) + 1;
// Input box for the capital
String stateCapitalQuestionString = JOptionPane.showInputDialog(
"What is the capital of " + stateCapital[randNum][0] + "?");
capital = input.next();
if (capital.matches(stateCapital[randNum][1]))
{
String stateCapitalRespString = JOptionPane.showInputDialog(
"That is CORRECT!");
correct++;
}
else
{
String stateCapitalRespString = JOptionPane.showInputDialog(
"Incorrect Response!");
wrong++;
}
count++;
}
String stateCapitalSummaryString = JOptionPane.showInputDialog(
("You answered " + correct + "correctly!\n) (There were " + wrong + "incorrect answers."));
}
}
编译错误:
F:\Java\Lab 5\Lab5.java:14: error: cannot find symbol
StateCapitals caps = new StateCapitals();
^
symbol: class StateCapitals
location: class Lab5
F:\Java\Lab 5\Lab5.java:14: error: cannot find symbol
StateCapitals caps = new StateCapitals();
^
symbol: class StateCapitals
location: class Lab5
任何帮助将不胜感激!谢谢!
答案 0 :(得分:1)
根据您发布的代码,类StateCapitals
不存在。你忘了导入包吗?
答案 1 :(得分:1)
首先编译你的StateCapitals类,然后尝试编译Lab5或使用StateCapitals类的类,或者在需要导入的不同包中的StateCapital中编译,
要编译当前目录中的所有java文件,可以使用
javac *.java
答案 2 :(得分:1)
根据您的描述,您必须从StateCapitals中读取数据。这意味着FileReader(可能包含在BufferedReader中)将数据转换为代码中的可用格式。除非StateCapitals实际上是一个java文件,否则你只需要确保它们都被编译并放在同一个包中。
答案 3 :(得分:0)
如果你没有import
StateCapitals
,那么你的两个类都需要在同一个包中。这是通过在文件package packagename;
的第一行添加来完成的。
答案 4 :(得分:0)
StateCapitals
是您定义的课程吗?如果是这样,您必须像导入其他库一样导入它,例如import java.util.Random;
。
答案 5 :(得分:0)
看起来像是一个类路径问题你传递给javac
的是什么?试试javac -classpath . Lab5.java
。也就是说,假设Lab5
和StateCapitals
都在同一个包中。如果没有,则需要在StateCapitals
Lab5
答案 6 :(得分:0)
我自己使用TextPad,如果没有导入“StateCapital”类,或者源文件夹中没有StateCapital文件,或者在您的情况下最有可能我认为您没有编译StateCapitals,那么只会出现错误。 java,它至少需要包含以下代码:
public class StateCapitals
{
}