我是java的新手,并且一直在使用netbeans学习代码。在使用了教程并掌握了基础知识之后,我为自己设定了一个任务:
“使用用户输入,确定一个整数是否等于另一个整数”
我希望代码比较用户输入的两个整数,并检查它们是否相等。如果它们不相等,它应该说它们不相等但是如果整数相等,代码应该说它们是相等的
当我按下运行时,一切看起来都很好,因为代码没有显示任何错误,但输出框出现了这个:
java.util.Scanner [delimiters = \ p {javaWhitespace} +] [position = 2] [match valid = true] [need input = false] [source closed = false] [skipped = false] [ group separator = \,] [decimal separator =。] [positive prefix =] [negative prefix = \ Q- \ E] [positive suffix =] [negative suffix =] [NaN string = \Q \ E] [infinity string = \Q∞\ E]不等于java.util.Scanner [delimiters = \ p {javaWhitespace} +] [position = 2] [match valid = true] [need input = false] [source closed = false] [跳过] = false] [group separator = \,] [decimal separator =。] [positive prefix =] [negative prefix = \ Q- \ E] [positive suffix =] [negative suffix =] [NaN string = \Q \ E ] [无穷大字符串= \Q∞\ E]
这是我目前的代码:
package mark_userinputtask;
import java.util.Scanner;
public class Mark_UserInputTask {
public static void main(String[] args) {
Scanner var1 = new Scanner(System.in);
Scanner var2 = new Scanner(System.in);
System.out.println(var1.nextLine());
System.out.println(var2.nextLine());
if (var1 == var2){
System.out.println(var1 + " is equal to " + var2);
} else {
System.out.println(var1 + "is not equal to" + var2);
}
我只想知道我做错了什么以及我该如何使它发挥作用。
答案 0 :(得分:1)
以下是使用在线注释解释的代码:
import java.util.Scanner;
class Mark_UserInputTask {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //Declare the one scanner for the whole program
System.out.print("Please enter your first integer: "); //Prompt the user for input
int var1 = scanner.nextInt(); //Store the users input if it is an integer in a variable
System.out.print("Please enter your second integer: ");
int var2 = scanner.nextInt();
if (var1 == var2) { //test if both variables are equal
System.out.println(var1 + " is equal to " + var2);
} else {
System.out.println(var1 + " is not equal " + var2);
}
}
}
试试here!
答案 1 :(得分:0)
您正在比较对象引用,而不是值。 尝试使用equals方法。
String s1 = var1.nextLine();
String s2 = var2.nextLine();
if (s1.equals(s2)) { // true
.
.
.
} else { // false
.
.
.
}
答案 2 :(得分:0)
你所做的一切都是错的,你假设用户比较两个输入,但你要比较的是两个<?
if( isset( $_GET['list'] ) AND $_GET['list'] != '' ) {
$listId = $_GET['list'];
}
$email = $_POST['widget-subscribe-form-email'];
$fname = isset( $_POST['widget-subscribe-form-fname'] ) ? $_POST['widget-subscribe-form-fname'] : '';
$lname = isset( $_POST['widget-subscribe-form-lname'] ) ? $_POST['widget-subscribe-form-lname'] : '';
$fp = fopen("newsletter_subscriptions.txt","w+");
fputs($fp, "email : ");
fputs($fp, $_POST['widget-subscribe-form-email']);
fputs($fp, "\nPrénom : ");
fputs($fp, $_POST['widget-subscribe-form-fname']);
fputs($fp, "\nNom : ");
fputs($fp, $_POST['widget-subscribe-form-lname']);
fclose($fp);
?>
类实例。
您应该将用户输入存储在某个Scanner
变量中,然后进行比较,
int
此外,您不必为每个用户输入使用单独的public static void main(String[] args) {
Scanner var1 = new Scanner(System.in);
int a = var1.nextInt();
int b = var1.nextInt());
if (a == b){
System.out.println(a + " is equal to " + b);
} else {
System.out.println(a + "is not equal to" + b);
}
类实例。
答案 3 :(得分:0)
很高兴给自己练习任务!
两件事:
1)您只需要一台扫描仪
2)你将保留对用户输入的引用来比较数字(至少它是一种干净的方式) - 使用一些int变量!
像这样:
Scanner scanner = new Scanner(System.in);
int var1 = scanner.nextInt();
int var2 = scanner.nextInt();
scanner.close();
if (var1 == var2) {
System.out.println(var1 + " is equal to " + var2);
} else {
System.out.println(var1 + " is not equal to " + var2);
}
并且3)请阅读如何格式化您的问题:)