可能重复:
需要帮助创建一个从书中打印目录的 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
谁能帮我纠正我的循环以生成我的输出。我愿意接受建议。
谢谢!