如何修复:“;无法解析类型java.lang.CharSequence。它是从必需的.class文件中间接引用的“;消息
我正试着用这个字符串如何修复:“;无法解析类型java.lang.CharSequence。它是从必需的.class文件中间接引用的“;消息,java,string,Java,String,我正试着用这个字符串 amountStr = amountStr.replace("$", "").replace(" ", "").replace(",", ""); 但我收到一条错误消息,我知道我收到了,因为我刚刚发布的字符串已经过时了。所以我想知道什么是该字符串的一个好的更新版本?下面是我的整个代码的样子 import java.util.Scanner; public class QuarterMachine{ /** * Convert the input t
amountStr = amountStr.replace("$", "").replace(" ", "").replace(",", "");
但我收到一条错误消息,我知道我收到了,因为我刚刚发布的字符串已经过时了。所以我想知道什么是该字符串的一个好的更新版本?下面是我的整个代码的样子
import java.util.Scanner;
public class QuarterMachine{
/**
* Convert the input to cents.
*/
public static void main(String[] args){
// PART I INPUT SECTION (COMPLETE)
// DO NOT CHANGE THESE LINES
Scanner cin = new Scanner(System.in);
System.out.print("Part I-Enter the amount input ($ 1,572.52): ");
String amountStr = cin.nextLine();
// PLACE YOUR CODE ONLY BELOW THIS LINE
// PLACE YOUR OUTPUT IN THESE VARIABLES
// ---------- YOUR CHANGES HERE ----------------------
double amount = 0;
int quarters = 0;
//My problem is in line below
amountStr = amountStr.replace("$", "").replace(" ", "").replace(",", "");
amount = Double.parseDouble(amountStr);
quarters = (int) (amount * 100) / 25;
// PLACE YOUR CODE ONLY ABOVE THIS LINE
// PART I OUTPUT SECTION COMPLETE
System.out.printf("Amount received($%,.0f), quarters returned(%,d)%n%n",amount, quarters);
// PART II INPUT SECTION (COMPLETE)
System.out.print("Part II-Enter seconds, minutes and hours as integers: ");
int seconds = cin.nextInt();
int minutes = cin.nextInt();
int hours = cin.nextInt();
// PLACE YOUR CODE ONLY BELOW THIS LINE
// PLACE YOUR OUTPUT IN THIS VARIABLE
String result = String.format("%02d:%02d:%02d", hours, minutes, seconds);
// YOUR CODE MUST GO ABOVE THIS LINE
// PART II - OUTPUT SECTION COMPLETE
System.out.println("Result: " + result);
}
}
我认为这是Eclipse中的某种bug。您可以通过尝试下面列出的每个解决方案来解决此问题。如果一个不行,试试下一个
- 清理项目
- 删除项目并再次导入(可能需要再次清理项目)
- 如果以上不起作用,请尝试此链接。基本上从项目中删除JRE库,然后将其再次添加到项目中
希望这能有所帮助。我认为这是Eclipse中的某种错误。您可以通过尝试下面列出的每个解决方案来解决此问题。如果一个不行,试试下一个
- 清理项目
- 删除项目并再次导入(可能需要再次清理项目)
- 如果以上不起作用,请尝试此链接。基本上从项目中删除JRE库,然后将其再次添加到项目中
希望这有帮助。在升级到JDK 8之后,您可能会遇到这个错误,因为一些旧接口现在在1.8中有了新的默认方法
- 因此,首先验证您的eclipse支持JDK1.8,eclipse应该大于或等于4.3.2(EclipseKeplerSR2)
- 若项目的源代码级别低于1.8,Eclipse会抱怨此错误,所以将源代码级别设置为1.8,编译器将不会通过任何异常
- 第三种选择是,回滚到JDK 7以使用旧接口
希望这会有所帮助在升级到JDK 8之后,您可能会遇到这个错误,因为一些旧接口现在在1.8中有了新的默认方法
- 因此,首先验证您的eclipse支持JDK1.8,eclipse应该大于或等于4.3.2(EclipseKeplerSR2)
- 若项目的源代码级别低于1.8,Eclipse会抱怨此错误,所以将源代码级别设置为1.8,编译器将不会通过任何异常
- 第三种选择是,回滚到JDK 7以使用旧接口
希望这将有助于我编辑了您的代码以添加代码标签。请始终在您的帖子中使用它。欢迎来到SO。在“…因为我刚刚发布的字符串已经过时”中,你说的“那个字符串”和“过时”是什么意思?我喜欢@Pshemo的编辑将“message”的拼写改成了错误的拼写,而它以前是正确的。至于OP的问题,你的环境有问题;这个代码对我来说很好。如果你使用JDK或JRE 8,那么这很可能是“java”,因为你使用的是Java 8;请参阅。我编辑了您的代码以添加代码标记。请始终在您的帖子中使用它。欢迎来到SO。在“…因为我刚刚发布的字符串已经过时”中,你说的“那个字符串”和“过时”是什么意思?我喜欢@Pshemo的编辑将“message”的拼写改成了错误的拼写,而它以前是正确的。至于OP的问题,你的环境有问题;这个代码对我来说很好。如果你使用JDK或JRE 8,那么这很可能是“java”,因为你使用的是Java 8;看见