&引用&书信电报;标识符>;“预期”;Java中的编译错误
我在这行上得到了“&引用&书信电报;标识符>;“预期”;Java中的编译错误,java,identifier,Java,Identifier,我在这行上得到了“预期的”错误 private static String getReducedISBN(char 'x') { …此代码的 public class CheckISBN7 { //private static String originalISBN; // class variable public static void main(String[] args) { // Prompt the user to enter an ISBN Simple
预期的
”错误
private static String getReducedISBN(char 'x') {
…此代码的
public class CheckISBN7 {
//private static String originalISBN; // class variable
public static void main(String[] args) {
// Prompt the user to enter an ISBN
SimpleIO.prompt("Enter ISBN: ");
String originalISBN = SimpleIO.readLine();
// Get the ISBN number without the dashes
String reducedISBN = getReducedISBN('-');
// Get the computed check digit
int computedCheckDigit = getCheckDigit(reducedISBN);
// Display check digit entered by the user
System.out.println("Check digit entered: " + originalISBN.charAt(12));
// Display computed check digit
System.out.println("Check digit computed: " + computedCheckDigit);
}
private static String getReducedISBN(char 'x') {
SimpleIO.prompt("Enter ISBN: ");
String originalISBN = SimpleIO.readLine();
int dashPos1 = originalISBN.indexOf("x");
int dashPos2 = originalISBN.indexOf("x", dashPos1 + 1);
String reducedISBN = originalISBN.substring(0, dashPos1) +
originalISBN.substring(dashPos1 + 1, dashPos2) +
originalISBN.substring(dashPos2 + 1, 11);
return reducedISBN;
}
private static int getCheckDigit(String reducedISBNParameter) {
int total = 0;
final String digits = "0123456789X";
for(int i = 0, j = 10; i <= 8; i++, j++) {
total += j *
(Integer.parseInt(reducedISBNParameter.substring(i, i + 1)));
}
int checkDigit = 10 - ((total - 1) % 11);
int computedCheckDigit = digits.charAt(checkDigit);
return computedCheckDigit;
}
}
公共类检查ISBN7{
//私有静态字符串originalISBN;//类变量
公共静态void main(字符串[]args){
//提示用户输入ISBN
SimpleIO.prompt(“输入ISBN:”);
字符串originalISBN=SimpleIO.readLine();
//获取不带破折号的ISBN编号
字符串reducedISBN=getReducedISBN('-');
//获取计算出的校验位
int computedCheckDigit=getCheckDigit(reducedISBN);
//显示用户输入的校验位
System.out.println(“输入的检查数字:+原始BN.charAt(12));
//显示计算的校验位
System.out.println(“计算的校验位:“+计算的校验位”);
}
私有静态字符串getReducedISBN(字符'x'){
SimpleIO.prompt(“输入ISBN:”);
字符串originalISBN=SimpleIO.readLine();
int dashPos1=原始的BN.indexOf(“x”);
int dashPos2=原始的bn.indexOf(“x”,dashPos1+1);
String reducedISBN=originalISBN.substring(0,dashPos1)+
原始BN.子字符串(dashPos1+1,dashPos2)+
原始bn.子串(dashPos2+1,11);
返回还原SBN;
}
私有静态int getCheckDigit(字符串缩减IDisBNParameter){
int-total=0;
最后的字符串数字=“0123456789X”;
对于(int i=0,j=10;i您试图在方法签名中传递char值'x'
,该值的语法无效:
private static String getReducedISBN(char 'x') {
您的意思是使用x
作为变量名吗
private static String getReducedISBN(char x) {
这里也一样,因为我假设您正在尝试查找作为分隔符而不是字符串“x”
传递的任何内容的索引:
'x'
不是一个标识符(变量或任何东西),它是一个文字字符。同样,“x”是一个文字字符串。用字符x
替换字符x'
,用x.toString()
替换字符x'
,以获得所需的内容。hmm,错误消息是“预期的”,而不仅仅是“预期的”…注意:indexOf
将使用字符串而不是char
。是的,这样做了。非常感谢您,BoltClock。但是,现在,我遇到了一个“找不到类定义”运行时错误。不再有任何编译错误。我正在使用NetBeans IDE。它说找不到哪个类的定义?@user268396:很好的调用。但是有必要调用toString()
吗?我的Java.Java.lang.NoClassDefFoundError:checkdigit7/Main已经生锈了
int dashPos1 = originalISBN.indexOf(x);
int dashPos2 = originalISBN.indexOf(x, dashPos1 + 1);