2014-10-02 2 views
0

Я пытаюсь использовать эту строкуКак исправить: «тип java.lang.CharSequence не может быть разрешен. Он косвенно ссылается на сообщение« требуемые файлы .class »?

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); 
    } 
} 
+0

Я редактировал свой код, чтобы добавить код тега. Пожалуйста, всегда используйте его в своих сообщениях. Добро пожаловать в SO. – AndreDuarte

+0

Я бы также рекомендовал удалить все эти разрывы строк. это делает ваш код очень трудным для чтения. Вместо ввода номеров строк просто добавьте комментарий к строке, где возникает проблема, чтобы указать, где искать ошибку. – Ideasthete

+1

В «... потому что эта строка, которую я только что опубликовал, устарела», что вы подразумеваете под «этой строкой» и «устаревшей»? – Pshemo

ответ

4

Я думаю, что это какая-то ошибка в Eclipse. Вы можете исправить это, попробовав каждое решение, написанное ниже. Если кто-то не работает, попробуйте следующий.

  • Чистый проект
  • Удалить проект и импортировать его снова (Вы, возможно, потребуется очистить проект снова)
  • Если выше не работает, попробуйте эту ссылку http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html. Вы в основном удаляете библиотеку JRE из проекта и добавляете ее снова в проект.

Надеюсь, это поможет.

0

Вероятно, вы столкнетесь с этой ошибкой после обновления до JDK 8, так как некоторые старые интерфейсы теперь имеют новые методы по умолчанию в 1.8.

  • Итак, сначала убедитесь, что ваше затмение поддерживает jdk 1.8, eclipse должно быть больше или равно 4.3.2 (Eclipse Kepler SR2).
  • Eclipse жалуется на эту ошибку, если исходный уровень вашего проекта ниже 1,8, поэтому установите уровень источника на 1,8, а затем complier не станет исключением.
  • Третий вариант - откат к JDK 7 для использования старых интерфейсов.

Надеется, что это помогает

Смежные вопросы

 Смежные вопросы