我目前正在努力编写代码。问题主要发生在阵列并试图返回。
该文件只需要一个 main 方法,该方法在用户输入“退出”之前执行以下操作:
• 提示用户访问、返回(仅在可能时)或退出的 URL
• 访问并显示输入的 URL
• 返回并显示之前访问过的 URL(如果可能)
• 如果用户在没有要返回的页面时输入“返回”,则应显示适当的消息。
这是一个输出示例:
输入 URL 或“退出”:返回
没有可返回的网址
输入 URL 或“退出”:http ://www.wwe.com
当前网址:http ://www.wwe.com
输入 URL 或“退出”:返回
没有可返回的网址
当前网址:http ://www.wwe.com
输入 URL 或“退出”:http ://www.amazon.com
输入网址、“返回”或“退出”:http ://www.google.com
输入 URL、“返回”或“退出”:返回
输入 URL、“返回”或“退出”:返回
当前网址:http ://www.wwe.com
输入 URL 或“退出”:quit
这是我当前的代码:
public class BrowsingHistory
{
public static void main(String [] args)
{
Scanner url = new Scanner(System.in);
String web = "";
String currentURL = "";
Stack<String> myStack = new Stack<>();
System.out.print("Enter a URL or \"quit\": ");
web = url.nextLine();
while (!web.contains("quit"))
{
System.out.println();
System.out.print("Enter a URL, \"back\", or \"quit\": ");
web = url.nextLine();
if(web.equals("back") && myStack.isEmpty())
{
System.out.println("No URL to go back to");
}
else if(!web.equals("back"))
{
myStack.push(web);
System.out.println("Current URL: " + myStack.peek());
}
else
{
System.out.println("No URL to go back to");
System.out.println("Current URL: " + myStack.pop());
}
}
}
}
以下是它需要通过的测试,以便澄清:
@Test
void testMain()
{
setInput("back\nhttp://www.uwec.edu\nback\nhttp://www.amazon.com\nhttp://. w.google.com\nback\nback\nquit\n");
BrowsingHistory.main(null);
String mainOutput = outContent.toString();
Scanner driverOut = new Scanner(mainOutput);
String outputLine = getNextOutputLine(driverOut);
assertEquals("Enter a URL or \"quit\":", outputLine.substring(0, outputLine.indexOf(":")+1).trim(), "BrowsingHistory doesn't run as expected (initial prompt problem)");
幕布斯7119047
手掌心
holdtom
相关分类