您是否可以在此代码中发现我的错误,因为此代码存在问题? [英] Could you spot my mistake in this code because there is problem with this code?

查看:51
本文介绍了您是否可以在此代码中发现我的错误,因为此代码存在问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题是代码没有读取'String airport2 = input.next();'语句,所以我想问一下我的错误是什么。程序在用户输入airport2的输入之前结束。我对这种类型的代码很新。谢谢你的帮助。



我尝试了什么:



The problem is the code doesn't read 'String airport2 = input.next();' statement, so i would like to ask what is my mistake. the program end before user enter the input for airport2. I'm very new to this type of code. thanks for helping.

What I have tried:

System.out.println("\nFlight connection.\n");
System.out.print("From (do enter the full name of the city): ");
String airport1 = input.next();
System.out.print("To (do enter the full name of the city): ");
String airport2 = input.next();

if(airport1 == "George Town" && airport2 == "Johor Bahru" || airport1 == "Johor Bahru" && airport2 == "George Town")
{
    System.out.println("Yes, they are connected directly.");
}
else if(airport1 == "George Town" && airport2 == "Malacca City" || airport1 == "Malacca City" && airport2 == "George Town")
{
    System.out.println("Yes, they are connected directly.");
}
else if(airport1 == "Johor Bahru" && airport2 == "Malacca City" || airport1 == "Malacca City" && airport2 == "Johor Bahru")
{
    System.out.println("Yes, they are connected directly.");
}

推荐答案

尝试替换 input.next 使用 input.nextLine ,并且正如Richard建议的那样,使用调试器来查看正在发生的事情。
Try replacing input.next with input.nextLine, and as Richard has suggested, use the debugger to look at exactly what is going on.


引用:

问题是代码不读'String airport2 = input.next();'

The problem is the code doesn't read 'String airport2 = input.next();'



可能问题是 input.next()没有按照你的想法行事。

java - Scanner类的next()和nextLine()方法有什么区别? - 堆栈溢出 [ ^ ]

Java Scanner next()方法示例 [ ^ ]



看起来学习调试器也是一个好主意。

有一个允许您查看代码正在执行的工具,其名称为调试器。它也是一个很好的学习工具,因为它向你展示了现实,你可以看到哪种期望与现实相符。

当你不明白你的代码在做什么或为什么它做它做的时候,答案就是答案是调试器

使用调试器查看代码正在执行的操作。只需设置断点并查看代码执行情况,调试器允许您逐行执行第1行并在执行时检查变量。



调试器 - 维基百科,免费的百科全书 [ ^ ]

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html [ ^ ]

https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html [ ^ ]

调试器在这里向您展示你的代码正在做,你的任务是与它应该做的事情进行比较。

调试器中没有魔法,它没有找到错误,它只是帮助你。当代码没有达到预期的效果时,你就会接近一个错误。


May be the problem is that input.next() is not doing what you think.
java - What's the difference between next() and nextLine() methods from Scanner class? - Stack Overflow[^]
Java Scanner next() method example[^]

Looks like learning debugger is a good idea too.
There is a tool that allow you to see what your code is doing, its name is debugger. It is also a great learning tool because it show you reality and you can see which expectation match reality.
When you don't understand what your code is doing or why it does what it does, the answer is debugger.
Use the debugger to see what your code is doing. Just set a breakpoint and see your code performing, the debugger allow you to execute lines 1 by 1 and to inspect variables as it execute.

Debugger - Wikipedia, the free encyclopedia[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
The debugger is here to show you what your code is doing and your task is to compare with what it should do.
There is no magic in the debugger, it don't find bugs, it just help you to. When the code don't do what is expected, you are close to a bug.


这篇关于您是否可以在此代码中发现我的错误,因为此代码存在问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆