2016-11-10 3 views
-1

У меня есть класс Java Text.java, который содержит только длинную строку (это текст с сайта, но сохраненный в значениях u006e и т. Д.). Я создаю класс интеллектуального анализа данных и просто задавался вопросом, как ссылаться на string, чтобы я мог проверять такие вещи, как длина и количество ссылок на числа и тому подобное? фактический класс 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, так что я не мог бы идти об этом правильно, но вот только начало моего Datamining класса

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 работал как шарм! Большое спасибо, я понимаю simpiler и более предпочтительным методом было бы изменить фактический класс 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 final.

Внутри класса Text вам необходимо создать метод getter, чтобы иметь возможность доступа к этой частной строке. Создать метод следующим образом

public static String getText() { 
return TEXT; 
) 

Ссылку на: Why use getters and setters?

Это объяснение, почему вы должны использовать методы получения и установки, а не имеющие общие переменные, которые Вы можете получить доступ непосредственно из вашего класса Text.

Теперь в основной метод, вы можете написать

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

Это возвращает длину 5, учитывая, что текст u006e.

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