如何在程序中使用object object1 = new对象?

时间:2011-11-02 01:44:23

标签: java

我有一个赋值,我的程序使用if另一个String的条件输出一个简单的String,但是我一直遇到一个无法创建新实例的问题(我认为这就是所谓的)

无论如何,这是我的代码

 import java.util.Scanner;


public class EP54
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);    
        System.out.print("Do you want to continue? ");
        **yesNoChecker check1 = new yesNoChecker();**
        System.out.print(EP54.yesNoChecker);
    }

   public String yesNoChecker()
   {
       if(in.equalsIgnoreCase("y") ||
         in.equalsIgnoreCase("yes") ||
         in.equalsIgnoreCase("Sure") ||
         in.equalsIgnoreCase("why not"))
         System.out.println("OK");
       else if(in.equalsIgnoreCase("y") ||
         in.equalsIgnoreCase("yes") ||
         in.equalsIgnoreCase("Sure") ||
         in.equalsIgnoreCase("why not"))
         System.out.println("Terminating.");
       else
         System.out.println("Bad Input");
   }
}

请帮帮我! (粗体部分是我得到错误的地方)

任何人都可以给我一个工作版的代码,以便我可以将它与我的相比吗?

4 个答案:

答案 0 :(得分:1)

import java.util.Scanner;

public class EP54
{
   public static void main(String[] args)
   {
       Scanner in = new Scanner(System.in);    
       System.out.print("Do you want to continue? ");
       String answer = in.next();
       yesNoChecker(answer);
   }

   public static void yesNoChecker(String in)
   {
       if(in.equalsIgnoreCase("y") ||
         in.equalsIgnoreCase("yes") ||
         in.equalsIgnoreCase("Sure") ||
         in.equalsIgnoreCase("why not"))
         System.out.println("OK");
       else if(in.equalsIgnoreCase("n") ||
         in.equalsIgnoreCase("no") ||
         in.equalsIgnoreCase("nope") ||
         in.equalsIgnoreCase("quit"))
         System.out.println("Terminating.");
       else
         System.out.println("Bad Input");;
   }
}

搞定了

答案 1 :(得分:0)

yesNoChecker()是一个函数,而不是一个对象。在这种情况下,您需要调用 yesNoChecker()(也称为“调用方法”),而不是实例化 yesNoChecker(也称为“创造一个对象”)。相反,您的代码应该类似于:

import java.util.Scanner;


public class EP54
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);    
        System.out.print("Do you want to continue? ");
        yesNoChecker();
        System.out.print(EP54.yesNoChecker);
    }

   public String yesNoChecker()
   {
       // (omitted for brevity)
   }
}

实例化类类型的新对象。例如,Scanner是您在此处使用Java所提供的类。当您说new Scanner()时,您正在创建Scanner类的新实例。

答案 2 :(得分:0)

yesNoChecker是一个方法,而不是一个类 - 你无法实例化它。

您可以致电

yesNoChecker();

但是,它被定义为返回一个String,它当前不会这样做。您可能希望返回正在打印的字符串。

答案 3 :(得分:0)

您还需要从用户/扫描仪类获得实际输入。

类似的东西:

String s = in.nextLine();

然后你将String s与你需要的东西进行比较(“Y”,“yes”等......)

希望这有帮助!

P.S。你的功能可以做到这一点,但要考虑是否有人输入数字而不是字母或作品。在使用之前验证输入始终是个好主意。