2016-11-10 134 views
-1

我有一個Java類Text.java,它只包含一個嚴重的長字符串(它是從網站的文本,但存儲在u006e值等)我正在創建一個數據挖掘類,只是想知道如何引用字符串,以便我可以測試諸如長度之類的東西並計算數字和類似的東西?實際的類是Text.java和實際的代碼是:數據挖掘字符串

public class Text 
{ 
/** 
* A very long String, containing text from a web site. 
*/ 
public static final String TEXT; 

static 
{ 
TEXT = //this is where the extremely long string is composed of u006c/u006e and so on 

我已經試過

text.length() 
Text.length() 
TEXT.length() 

我是相當新的Java的,所以我可能無法正確繞了,但這裏僅僅是開始我的數據挖掘類

public class DataMiner 
{ 
    /** 
    * Main Method, or main point of entry in the Java application. 
    * 
    * @param args not used 
    */ 
    public static void main(String[] args) 
    {   
     System.out.printf("The total length of input lines are: ", Text.length()); 
    } 
} 

這裏我只是想要告訴我輸入的線怎麼靈是其他Text.java類中。

+0

您需要設置訪問器方法。因爲你不能訪問原始數據類型。 – Munib

+0

在'Text'上創建一個名爲'length'的方法,該方法返回TEXT.length()或簡單地改爲Text.TEXT.length() - 我個人會使用第一個選項並將TEXT作爲私有字段 –

+0

@ return0 *因爲你不能訪問原始數據類型。* - **你是什麼意思?** –

回答

0

快速修復試試這個

System.out.printf("The total length of input lines are: %d \n", Text.TEXT.length()); 

但是更好的將是 創建文本稱爲長度返回TEXT.length()或者乾脆改爲Text.TEXT.length()的方法 - 個人我會使用的首選,並有文字作爲私有字段

+0

使用%d \ n像魅力一樣工作!非常感謝我意識到一個簡單的更可取的方法是更改​​實際的Text.java類,但我只是試圖創建一個全新的類,它不需要編輯Text.java類中的現有代碼即可完成所有這些工作。感謝您的幫助! –

-1

它不是一個複雜的問題,您應該WIRTE這樣的:

System.out.printf("The total length of input lines are: ", Text.TEXT .length()); 

希望這是有幫助的。

+0

我試過了,能夠編譯,但輸出結果很簡單:「輸入行的總長度爲:BUILD SUCCESSFUL(總時間:0秒) –

0

,爲妥善解決您的文本變量(例如)更改爲

private static final String TEXT = "u006e"; 

使這個類變量,並設置任何你想要的文字。如果你想能夠改變字符串,你不能使TEXT最終。

在Text類中,你需要創建一個getter方法來訪問這個私有字符串。創建方法如下

public static String getText() { 
return TEXT; 
) 

參考:Why use getters and setters?

這就是爲什麼你應該使用getter和setter方法,而不是你直接從你的文字類訪問公共變量的解釋。

現在,在你的主要方法,你可以寫

System.out.printf("The total length of input lines are: %d", getText().length()); 

這將返回給定文本的5長度爲u006e。