2013-09-22 5 views
0

У меня есть три файла в одном проекте, и я не могу представить инструкции println в моем основном классе печати! Помогите?Println заявления не печатаются

Первый файл:

package chapter2; 

public class UseStringLog 
{ 
    public static void main(String[] args) 
    { 
    StringLogInterface log; 
    log = new ArrayStringLog("Example Use"); 
    log.insert("Elvis"); 
    log.insert("King Louis XII"); 
    log.insert("Captain Kirk"); 
    System.out.println(log); 
    System.out.println("The size of the log is " + log.size()); 
    System.out.println("Elvis is in the log: " + log.contains("Elvis")); 
    System.out.println("Santa is in the log: " + log.contains("Santa")); 
    } 
} 

Второй файл:

package chapter2; 

public interface StringLogInterface 
{ 
    void insert(String element); 
    boolean isFull(); 
    int size(); 
    boolean contains(String element); 
    void clear(); 
    String getName(); 
    String toString(); 
} 

Третий файл:

package chapter2; 

public class ArrayStringLog implements StringLogInterface 
{ 
    protected String name;    
    protected String[] log;    
    protected int lastIndex = -1;  

    public ArrayStringLog(String name, int maxSize) 
    { 
    log = new String[maxSize]; 
    this.name = name; 
    } 

    public ArrayStringLog(String name) 
    { 
    log = new String[100]; 
    this.name = name; 
    } 

    public void insert(String element) 
    {  
    lastIndex++; 
    log[lastIndex] = element; 
    } 

    public boolean isFull() 
    {    
    if (lastIndex == (log.length - 1)) 
     return true; 
    else 
     return false; 
    } 

    public int size() 
    { 
    return (lastIndex + 1); 
    } 

    public boolean contains(String element) 
    {     
    int location = 0; 
    while (location <= lastIndex) 
    { 
     if (element.equalsIgnoreCase(log[location])) // if they match 
     return true; 
     else 
     location++; 
    } 
    return false; 
    } 

    public void clear() 
    {     
    for (int i = 0; i <= lastIndex; i++) 
     log[i] = null; 
    lastIndex = -1; 
    } 

    public String getName() 
    { 
    return name; 
    } 

    public String toString() 
    { 
    String logString = "Log: " + name + "\n\n"; 

    for (int i = 0; i <= lastIndex; i++) 
     logString = logString + (i+1) + ". " + log[i] + "\n"; 

    return logString; 
    } 
} 

Я бегу все и каждый из них успешно строят, но там просто нет вывод!

+0

Как вы запускаете свою программу? И какой результат вы получаете? –

+2

Вы arent получаете * any * output вообще? Даже жестко закодированные строки? Кроме того, где вы это используете? Затмение? Командная строка? Другая среда IDE? –

+0

Я использую NetBeans. Я запускаю его, и все, что я получаю, - СТРОИТЕЛЬНОЕ УСПЕШНОЕ. – KTF

ответ

0

Ваш код работает просто отлично!

ВЫВОД:

Log: Example Use 

1. Elvis 
2. King Louis XII 
3. Captain Kirk 

The size of the log is 3 
Elvis is in the log: true 
Santa is in the log: false 

Вещи, чтобы проверить:

  • ошибки компиляции (вы не включают в себя определенный класс в пакете, забыл об "импорт" и т.д.)
  • попробуйте позвонить System.out.println("test); в первой строке main() - посмотреть, что он печатает
  • запустите код с отладчиком
+0

Как заставить его работать? – tbodt

+0

Я уже сделал это. – tbodt

+0

@tbodt вам не нужно «заставлять» его работать - он работает «как есть» без каких-либо изменений! – alfasin

0

Этот код отлично работает, и в этом нет ничего плохого. Таким образом, должно быть что-то не так с тем, как вы запускаете код. Вот список цен:

  • Убедитесь, что вы используете файл подходящего класса.
  • Если вы используете IDE, убедитесь, что знаете, как ее использовать.
  • Если вы прошли через главу 1 своей книги, вам, вероятно, удалось запустить программы там. Попробуйте тот же метод.

И, наконец, последнее, но не менее важное:

  • ли ваш IQ проверил. Вам рекомендуется держаться подальше от java-кодирования, если оно меньше 150. :-)
+0

Итак, я понял, что вы поняли, как его запустить? :) – alfasin

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