私はJavaを学びたいと思っています。あなたの名前を入力したいのですが、名前入力があなたの名前と一致すればHello [あなたの名前]を印刷します。入力がmy nameと等しい文字列に等しい場合は、helloと入力を出力します。しかし、そうではありません... else文は私に混乱させるものです。なぜなら、2つの値をプリントして、どこに等しいか、どちらの場合でも...助けてくれてありがとうと思うからです。文字列入力からif文を作成するのに苦心しました
package AgeTester;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class HelpSystem {
public static void main(String args[]) {
String inp = "Jono";
JFrame frame = new JFrame("Input Dialogue");
String name = JOptionPane.showInputDialog(frame, "What is your name?");
if (inp == name) {
System.out.printf("Hello", name);
} else {
System.out.println(inp + name);
}
System.exit(0);
}
}
'if'条件に' inp.equals(name) 'を、文字の大文字小文字を無視する' inp.equalsIgnoreCase(name) 'を使います。 – VatsalSura
別のエラーがあります:ブロックの場合、 'System.out.println'は1つの引数だけをとります。文字列の連結には '+'(または 'StringBuilder')を使います。 –