使用类在java中猜测数字的程序

使用类在java中猜测数字的程序,java,class,object,infinite-loop,Java,Class,Object,Infinite Loop,我们打算用java创建一个程序,其中计算机随机猜测1-10之间的数字,并允许用户猜测数字。这就是我到目前为止所做的,当我在cmd中执行时,我得到如下错误: 1.)第17行:表达式的非法开始 2.)在第17行中:找不到符号 import java.util.Scanner; 导入java.util.Random; 类号{ 随机r=新随机(); 最终整数上限=10; int random=r.nextInt(上限); int-inputnum; 公共静态void main(字符串[]args){ N

我们打算用java创建一个程序,其中计算机随机猜测1-10之间的数字,并允许用户猜测数字。这就是我到目前为止所做的,当我在cmd中执行时,我得到如下错误:

1.)第17行:表达式的非法开始

2.)在第17行中:找不到符号

import java.util.Scanner;
导入java.util.Random;
类号{
随机r=新随机();
最终整数上限=10;
int random=r.nextInt(上限);
int-inputnum;
公共静态void main(字符串[]args){
NumberGuess whileloop=新的NumberGuess();
System.out.println(“你必须猜出数字”);
System.out.println(“-------------------------------”;
System.out.println(“提示:数字小于10”);
System.out.println(“-------------------------------”;
Getter getinput=new Getter();
while(whileloop.inptnum!=whileloop.random){
Getter.takeUserInput();
Getter.isCorrectNumber();
}
}
}
类吸气剂{
静态void takeUserInput(){
NumberGuess forinput=新的NumberGuess();
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入您的猜测:”);
forinput.inputnum=sc.nextInt();
}
静态void isCorrectNumber(){
NumberGuess forcompare=新的NumberGuess();
System.out.println(forcompare.random);
Getter takeinp=新Getter();
if(forcompare.inputnum==forcompare.random){
System.out.println(“猜测是正确的”);
}
否则{
System.out.println(“猜测不正确,请重试”);
}
}
}

U无法在getter类中创建新对象。您必须发送创建对象

Getter.takeUserInput(obj6)
Getter.isCorrectNumber(obj6);

static void takeUserInput(NumberGuess obj6){

Scanner sc = new Scanner(System.in);
System.out.println("Enter your guess:");
obj6.b = sc.nextInt();
}
static void isCorrectNumber(NumberGuess obj4){
...
}

在类NumberGuess中,您有属性inputnum,但在第17行,您试图访问不存在的属性“inptnum”:D

更新:

以下是固定代码:

import java.util.Scanner;
import java.util.Random;

class NumberGuess{
    Random r = new Random();
    final int upperbound = 10;
    int random = r.nextInt(upperbound);
    int inputnum;
        
    public static void main(String[] args) {
        NumberGuess whileloop = new NumberGuess();
        System.out.println("You have to guess the number");
        System.out.println("----------------------------");
        System.out.println("Hint: Number is less than 10");
        System.out.println("----------------------------");
        Getter getinput = new Getter();   
        while(whileloop.inputnum != whileloop.random){
           Getter.takeUserInput();
           Getter.isCorrectNumber();
        }
    }
}

class Getter{
   
   static void takeUserInput(){
      NumberGuess forinput = new NumberGuess();
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your guess:");
      forinput.inputnum = sc.nextInt();
   }

   static void isCorrectNumber(){
      NumberGuess forcompare = new NumberGuess();
      System.out.println(forcompare.random);
      Getter takeinp = new Getter();   
      if(forcompare.inputnum == forcompare.random){
         System.out.println("The guess is correct");
      }
      else {
         System.out.println("The guess is incorrect try again");
      }
   }
}

一些提示:正如您所看到的,您的代码在您的问题中看起来格式不正确。通过突出显示代码并按文本框上方的
{}
按钮格式化代码。给变量起一个有意义的名字;如果您将它们命名为obj1、obj2、a、b等,我们无法遵循您的逻辑,但您希望我们给您一个答案。您能在code@ArpitSharma答案更新!:谢谢你更新它,你能告诉我你更改了哪一行吗?你做了哪些更改?我只是在第17行修改了属性名:从inptnum到inputnum。