整个程序应该输入一个组合锁并接受这个组合。这是我遇到问题的代码。
import java.util.*; // needed for Scanner
public class CombinationLock extends Lock
{
// Instance Variables
private String combination;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter Combination --> ");
String combo = keyboard.nextLine();
if(combination = combo)
{
super.open();
}
public String toString()
{
String str = super.toString() + "\n" +
"Combination = " + combination + "\n";
return str;
}
public void setCombination()
{
}
public boolean getCombination()
{
}
public CombinationLock()
{
super(); // call the default constructor of the Lock class
combination = "";
}
public CombinationLock(String combo)
{
super();
combination = combo;
}
}
这些就是我犯的错误
--------------------Configuration: <Default>--------------------
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:10: error: <identifier> expected
System.out.println("Enter Combination ");
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:10: error: illegal start of type
System.out.println("Enter Combination ");
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: illegal start of type
if(combination = combo)
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: <identifier> expected
if(combination = combo)
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: ';' expected
if(combination = combo)
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: illegal start of type
if(combination = combo)
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:13: error: <identifier> expected
if(combination = combo)
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:14: error: ';' expected
{
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:15: error: illegal start of type
super.open();
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:18: error: class, interface, or enum expected
public String toString()
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:22: error: class, interface, or enum expected
return str;
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:23: error: class, interface, or enum expected
}
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:25: error: class, interface, or enum expected
public void setCombination()
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:30: error: class, interface, or enum expected
public boolean getCombination()
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:35: error: class, interface, or enum expected
public CombinationLock()
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:38: error: class, interface, or enum expected
combination = "";
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:39: error: class, interface, or enum expected
}
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:41: error: class, interface, or enum expected
public CombinationLock(String combo)
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:44: error: class, interface, or enum expected
combination = combo;
^
C:\Users\waki_\OneDrive\Documents\CombinationLock.java:45: error: class, interface, or enum expected
}
^
20 errors
Process completed.
我不确定是什么导致了这个问题。我试图找到其他的答案,但都与我的问题无关。
3条答案
按热度按时间2lpgd9681#
java语句必须出现在代码块中。所以在这种情况下,这个类中方法之外的代码需要用
{}
.但是看起来你正在尝试读取输入等等,理想情况下你应该做的是创建一个
main
方法创建的示例CombinationLock
并读取main方法中的输入。vql8enpb2#
您需要纠正以下几点:
获取用户输入的代码应该在方法内部。java不允许在方法或块之外编写这样的逻辑。
如果条件没有正确执行。java希望if条件中的表达式返回
boolean
. 然而=
内部使用的运算符if
结果是String
. 对于字符串比较,我们应该使用string1.equals(string2)
如果在里面。nle07wnf3#
您正在函数外编写语句。确保所有语句都在函数中,并且所有示例变量都有作用域标识符。
具体来说,请确保以下语句位于函数中: