2016-11-10 136 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。