我正在尝试编写一个程序,用于检查{},[],()等符号是否正确放置在String中。我的问题是我已经设法使程序编译但是当我尝试运行它时,它给了我以下错误:
错误:无法找到或加载主类P.java
我不确定会出现什么问题,因为我只编程了大约两个月。任何有关此事的帮助将不胜感激。这是我的代码:
import java.util.*;
public class P {
public static void main(String[] args) {
char[] opening = { '(', '{', '[' };
char[] closing = { ')', '}', ']' };
String mark;
char marks;
Scanner terminalInput = new Scanner(System.in);
Stack<String> myStack = new Stack<>();
String sentence = terminalInput.nextLine();
char[] letters = sentence.toCharArray();
boolean yes = true;
for (int i = 0; i < letters.length; i++) {
for (int a = 0; a < 6; a++) {
if (letters[i] == opening[a]) {
mark = Character.toString(opening[a]);
myStack.push(mark);
}
if (letters[i] == closing[a]) {
mark = myStack.peek();
marks = mark.charAt(0);
if (marks != opening[a]) {
yes = false;
System.out.println(yes);
} else
myStack.pop();
}
}
}
System.out.println(yes);
}
}
答案 0 :(得分:4)
“P.java”是源代码文件的名称。该类的名称只是P
,因此这是您在尝试运行时应该使用的内容:
java P
答案 1 :(得分:0)
我在Windows中的命令提示符下运行程序时遇到了同样的问题。事实证明,CLASSPATH不应包含空格。我的CLASSPATH最初是C:\ MyFolder \ Java progs。它将在执行时编译:
javac helloworld.java
但即使我的CLASSPATH环境变量设置为C:\ MyFolder \ Java progs,也不会创建类文件。一旦我将文件夹的名称更改为“Javaprogs”,它就开始顺利运行。 .class文件已创建并
java helloworld
成功运作。希望这会有所帮助。