2014-03-25 31 views
2

這是我第一次使用分數器對各種分數計算器。我試圖儘可能下面的語法,卻得到了這個醜陋的,醜陋的錯誤:StringTokenizer錯誤

Fraction.java:78: error: no suitable constructor found for 
StringTokenizer(Fraction,String,boolean) 
    StringTokenizer parser = new StringTokenizer(oldMeasure, "/", true);        
constructor StringTokenizer.StringTokenizer(String) is not applicable 
    (actual and formal argument lists differ in length) 
constructor StringTokenizer.StringTokenizer(String,String) is not applicable 
    (actual and formal argument lists differ in length) 
constructor StringTokenizer.StringTokenizer(String,String,boolean) is not applicable 
    (actual argument Fraction cannot be converted to String by method invocation conversion) 

這裏是代碼

public void read(Scanner theKeyboard) 
    { 
    StringTokenizer parser = new StringTokenizer(oldMeasure, "/"); 
    if(parser.countTokens() !=2) 
     throw new RuntimeException("bad format for fraction"); 
    myNumerator = Integer.parseInt(parser.nextToken()); 
    myDenominator = Integer.parseInt(parser.nextToken()); 
    } 
+1

你對這個錯誤有什麼不瞭解嗎?沒有爲StringTokenizer找到合適的構造函數(Fraction,String,boolean)'你知道構造函數是什麼嗎?你知道列出的是什麼類型嗎? –

+0

另外,'(實際參數分數不能通過方法調用轉換轉換爲字符串)'。它給你所有的信息。 –

+0

oldMeasure的價值是什麼? – Arjit

回答

0

你傳遞一個構造函數的第一個參數必須是一個String。這是一個Fraction,而不是String。找到方法將其轉換爲String,Java編譯器無法爲您做到這一點,很少有人可以建議不知道Fraction類型。