Java中的编译错误
我需要先说明我不允许在课堂上使用IDE,我必须使用TextPad来编译和运行。任何帮助都将不胜感激 有两个文件与此分配关联,一个称为Lab5,另一个称为StateCapitals。当我编译程序时,我得到以下错误。我“认为”它找不到同一文件夹中的文件,但它们是 分配的目的是生成一个对话框,要求从StateCapitals文件中随机选择一个州的资本。如果答案与该文件中包含的数组中的数据匹配,则对话框将关闭,并打开一个新对话框,告知用户答案正确或错误(以适用者为准)。用户尝试10次后,程序将显示一个新对话框,其中包含正确答案和错误答案的数量 程序代码:Java中的编译错误,java,Java,我需要先说明我不允许在课堂上使用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
任何帮助都将不胜感激!谢谢 根据您发布的代码,类
StateCapitals
不存在。忘记导入包了吗?如果不导入
,则两个类需要位于同一个包中。这是通过在两个文件的第一行添加packagename代码>是您定义的类吗?如果是这样,您必须像导入其他库一样导入它,例如import java.util.Random代码>看起来像一个类路径问题,您向javac
传递什么?尝试使用javac-classpath。Lab5.java
。也就是说,假设Lab5
和StateCapitals
都在同一个包中。如果没有,您需要在Lab5
中导入StateCapitals
,只需先编译您的StateCapitals类,然后尝试编译Lab5或使用StateCapitals类的类,或者在不同包中的StateCapitals中导入该类
对于编译当前目录中的所有java文件,可以使用
javac *.java
根据您的描述,您必须从州首府读取数据。这意味着需要一个文件读取器(可能包装在BufferedReader中)将数据转换为代码中的可用格式。除非StateCapitals实际上是一个java文件,否则您只需确保这两个文件都已编译并在同一个包中。我自己使用TextPad,只有在没有导入“StateCapital”类的情况下才会出现该错误,或者源文件夹中没有StateCapital文件,或者很可能您还没有编译StateCapitals.java,它至少需要包含以下代码:
public class StateCapitals
{
}
你要编译什么javac…
我不允许在课堂上使用IDE,
但是你可以要求其他人使用他们的IDE来帮助你,或者我也必须使用TextPad吗?你可能试图分别编译每个.java文件。但是,javac可执行文件不假定任何东西,只假定jre库在类路径中。您应该像上面一样同时编译这两个文件,或者使用“javac-cp.File.java”一次编译一个文件。