0

1 つのプロジェクトに 3 つのファイルがあり、メイン クラスの 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"));
    }
}

2 番目のファイル:

package chapter2;

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

3 番目のファイル:

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;
  }
}

私はそれぞれを実行し、それらのすべてが成功したビルドを持っていますが、出力はありません!

4

2 に答える 2

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() の最初の行で呼び出してみてください - 出力されることを確認してください
  • デバッガーでコードを実行する
于 2013-09-22T01:27:24.483 に答える
0

そのコードは完全に機能し、何の問題もありません。したがって、コードの実行方法に問題があるはずです。チェックリストは次のとおりです。

  • 正しいクラス ファイルを実行していることを確認してください。
  • IDE を使用している場合は、その使用方法を理解していることを確認してください。
  • 本の第 1 章を読み終えた場合は、おそらくそこにあるプログラムを実行できたことでしょう。同じ方法を試してください。

そして最後に、大事なことを言い忘れました:

  • あなたのIQをチェックしてください。150 未満の場合は、Java コーディングを避けることをお勧めします。:-)
于 2013-09-22T01:34:01.607 に答える