Java 我的代码赢了';无法运行,但没有错误
我有两个问题:Java 我的代码赢了';无法运行,但没有错误,java,input,equals,Java,Input,Equals,我有两个问题: 为什么我的程序不能运行 如何让它检查输入是否不等于某个值 什么 -- import java.util.Random; 导入java.util.Scanner; 公营直升机{ //创建扫描仪。 静态扫描仪sc=新扫描仪(System.in); 静态字符串输入=sc.nextLine(); 公共静态void main(字符串[]args) { //创建两个随机数。 Random rand=新的Random(); int userNumber=rand.nextInt(10)+1;
import java.util.Random;
导入java.util.Scanner;
公营直升机{
//创建扫描仪。
静态扫描仪sc=新扫描仪(System.in);
静态字符串输入=sc.nextLine();
公共静态void main(字符串[]args)
{
//创建两个随机数。
Random rand=新的Random();
int userNumber=rand.nextInt(10)+1;
int comNumber=rand.nextInt(10)+1;
System.out.println(“您的号码是:“+userNumber+”共10个”);
你认为你的数字是高(H)、低(L)还是等于(E)计算机数字;
//检查用户是否正确。
if(userNumbercomname&&input.equals(“H”))
System.out.println(“你是对的,计算机的号码是:“+comNumber”);
}
}
能否检查您是否已将文件命名为HeigherOrLower.java,或者对其进行适当重命名,谢谢 它将运行并等待用户在
static String input = sc.nextLine();
我认为在eclipse中运行控制台时,您无法观察它。查看java进程是否存在于进程列表中,它对我来说运行正常,但它在输出任何文本之前等待用户输入。您可能希望将两个静态行移到“Doyou think…”行之后的main方法中: 对于数值,只需使用!=如图所示:
if ( ! input.equals("H") )
if ( x != 3 )
您的程序确实“运行”,只是您没有任何prmpots==>>System.out.println(“请键入您的输入”)///或任何其他类型的提示消息来通知用户。至于你的扫描器,我去掉了无效的修饰语“Static”,移到了你的主类中。至于逻辑,我不确定它应该做什么
public class HeigherOrLower {
//Creates the scanner.
public static void main(String[] args)
{
System.out.println("Please type your input");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
//Creating the two random numbers.
Random rand = new Random();
int userNumber = rand.nextInt(10) + 1;
int comNumber = rand.nextInt(10) + 1;
System.out.println("Your number is: " + userNumber +" of 10");
System.out.println("Do you think that your number is Heigher(H), Lower(L) or Equal To(E) the computers number");
//Checking if the user is right.
if(userNumber < comNumber && input.equals("L"))
System.out.println("You are right. The computer's number is: " + comNumber);
if(userNumber == comNumber && input.equals("E"))
System.out.println("You are right. The computer's number is: " + comNumber);
if(userNumber > comNumber && input.equals("H"))
System.out.println("You are right. The computer's number is: " + comNumber);
}
}
公共类HeigherOrLower{
//创建扫描仪。
公共静态void main(字符串[]args)
{
System.out.println(“请键入您的输入”);
扫描仪sc=新的扫描仪(System.in);
字符串输入=sc.nextLine();
//创建两个随机数。
Random rand=新的Random();
int userNumber=rand.nextInt(10)+1;
int comNumber=rand.nextInt(10)+1;
System.out.println(“您的号码是:“+userNumber+”共10个”);
你认为你的数字是高(H)、低(L)还是等于(E)计算机数字;
//检查用户是否正确。
if(userNumbercomname&&input.equals(“H”))
System.out.println(“你是对的,计算机的号码是:“+comNumber”);
}
}
这两行:
static Scanner sc = new Scanner(System.in);
static String input = sc.nextLine();
请执行以下操作:
- 构造一个使用标准输入的新的
扫描仪
- 从
扫描仪中读取第一行
static
)放在main
方法中,可能放在这一行之后:
System.out.println("Do you think that your number is Heigher(H), Lower(L) or Equal To(E) the computers number");
如果这不是问题所在,那么您实际上可能根本没有运行它,并且您必须提供关于如何运行它的更多详细信息
要检查您的输入是否不等于某个值,您可以说!input.equals(“某物”)
(在if语句中,!
这里的意思是“不”),或者您可以使用else
:
if (input.equals("something"))
System.out.println("It's equal");
else
System.out.println("It's not equal");
您认为静态字符串输入=sc.nextLine()代码>做什么?调试代码,你会发现问题的速度比问问题快。它只是等待一行被输入…这是一个相当疯狂的猜测。是什么让你认为这可能是问题所在?
System.out.println("Do you think that your number is Heigher(H), Lower(L) or Equal To(E) the computers number");
if (input.equals("something"))
System.out.println("It's equal");
else
System.out.println("It's not equal");