重複の可能性:
本の目次を印刷する Java プログラムの作成にヘルプが必要
目次を出力するプログラムを作成することになっています。私の任務の背景を説明させてください。ユーザーは、章のタイトルとして 4 つのアスタリスクを入力するまで、章のタイトルと開始ページ番号をループで入力することになっています。ユーザーが 4 つのアスタリスクを入力した後、次のような出力を出力することになっています。
アーサー王の宮廷......................................3
ナイツ・オブ・ザ・テーブル・ラウンド ....................................8
サー・ディナダン・ザ・ユーモリスト..................................................12
私は自分のコーディングのほとんどが正しいと思います。私のテスト プログラムでは、ユーザーが章のタイトルと開始ページ番号を入力できるようにする while ループを作成しました。このループは、ユーザーが章のタイトルに 4 つのアスタリスクを入力すると終了します。しかし、私が立ち往生しているのは、ユーザーがアスタリスクを入力した後に出力を生成するために、while ループの後です。目次を表示する代わりに、出力を取得しています。タイトル、ドット、ページ番号を出力するために for ループを試しましたが、アスタリスクしか表示されません。ループがおかしいと思います。
これまでの私のコードは次のとおりです。
// My Table of Contents class
public class TocEntry
{
public TocEntry(String title, int page) // 2 Argument Constructor
{
chapterTitle = title;
startPage = page;
}
public String toString() // toString method to print out chapter title,
// given dots, and start page
{
String temp = "" + startPage;
int numDots = 60 - (temp.length()+ chapterTitle.length());
String toc_out = chapterTitle;
for(int i = 0; i < numDots; i++)
toc_out=toc_out +".";
toc_out= toc_out + startPage;
return toc_out;
}
private String chapterTitle;
private int startPage;
}// End of class TocEntry
// My Test program
import java.util.Scanner;
public class useToEntry {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
final int TOCSIZE = 100;// Max size of TOC
TocEntry toc[] = new TocEntry[TOCSIZE];
int toc_curlen = 0;// The toc_curlen is intended to keep track of the number
// of chapters entered by the user
System.out.print("Enter chapter title: ");
String chapterTitle = input.next();
while(!"****".equals(chapterTitle))
{
System.out.print("Enter starting page number: ");
int page = input.nextInt();
System.out.print("Enter chapter title: ");
chapterTitle= input.next();
toc [toc_curlen] = new TocEntry(chapterTitle,page);
toc_curlen = toc_curlen++;
}// End of while loop
for (int line = 0; line < toc_curlen; line++)
{
System.out.println(chapterTitle.toString());
}// End of for loop
}// End of main method
}// End of class useToEntry
ループを修正して出力を生成するのを手伝ってくれませんか。私は提案を受け入れます。
ありがとう!