我正在尝试使用这个字符串
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。你可以通过尝试下面写的每个解决方案来解决这个问题。如果一个不起作用,试试下一个。
- 清理项目
- 删除项目并再次导入(您可能需要再次清理项目)
- 如果以上不起作用,请尝试此链接http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html.您基本上从项目中删除JRE库,然后将其重新添加到项目中
希望这能有所帮助。
升级到JDK 8后可能会遇到这个错误,因为一些旧接口现在在1.8中有了新的默认方法。
- 因此,首先验证您的eclipse是否支持jdk 1.8,eclipse应该大于或等于4.3.2(eclipse开普勒SR2)
- 如果您的项目的源代码级别低于1.8,Eclipse会报告此错误,所以将源代码级别设置为1.8,编译器将不会通过任何异常
- 第三种选择是,回滚到JDK7以使用旧接口
希望这将有助于