为什么这个班级电话没有工作?

时间:2017-05-20 02:44:34

标签: java

public static void Box()
{
    String[] statement =  new String [3];
    Censor c = new Censor();   
    if(response.equalsIgnoreCase(yes))
    {
        System.out.print(name+": >>");
        c.Replacement(statement[0]) = input.nextLine();
        System.out.println(name+":" + statement[0]);
        System.out.print(name+": >>");
        c.Replacement(statement[1]) = input.nextLine();
        System.out.println(name+":" + statement[1]);
        System.out.print(name+": >>");
        c.Replacement(statement[2]) = input.nextLine();
        System.out.println(name+":" + statement[2]);
        if(!statement[2].equals(empty))
        {
            System.out.print(name+": >>");
            c.Replacement(statement[0]) = input.nextLine();
            System.out.println(name+":" + statement[0]);
            System.out.print(name+": >>");
            c.Replacement(statement[1]) = input.nextLine();
            System.out.println(name+":" + statement[1]);
            System.out.print(name+": >>");
            c.Replacement(statement[2]) = input.nextLine();
            System.out.println(name+":" + statement[2]);
        }
    }
}

以上是尝试调用Censor类并使用方法" Replacement"在每个输入处,以便用" ****"替换在Censor类中指定的单词。

我使用的编译程序特别指出" Censor c = new Censor();"是不可能的,因为它无法找到"符号:class Censor"。这可能只是因为程序本身,但我只需要确保它是我写这个的一个问题。

这是有问题的审查员课程。

public class Censor
{
    public static void main(String[] args)
    {
    }
    public static void Censore(String[] statement)
    {
        String[] words = new String[3];
        Scanner blah = new Scanner(System.in);
        words[0] = statement[0];
        words[1] = statement[1];
        words[2] = statement[2];
        String replaceString = "";
        int loopcount = 0;
        while(loopcount < 1)
        {
            replaceString = words[0].replace("Blank", "****");
            replaceString = words[0].replace("Seer", "****");
            replaceString = words[0].replace("Nyah", "****");
            System.out.println(replaceString);
        }
    }
}

编辑只是为了摆脱咒骂的话

2 个答案:

答案 0 :(得分:0)

关于该类,如果它在另一个包中,则需要使用它来导入它      Import packagename.classname。你打电话的另一件事

c.Replacement(statement[0])

,你的方法是

Censore(String[] statement)

答案 1 :(得分:0)

之类的陈述
c.Replacement(statement[0]) = input.nextLine();

无效。您不能在作业的左侧进行方法调用。如果您尝试将statement[0]方法的结果分配给Replacement input.nextLine()的结果,那么正确的陈述是

input.nextLine[0] = c.Replacement(input.nextLine());

此外,正如@Omar指出的那样,您实际上并没有在Replacement类中使用名为Censor的方法。不过,您确实有Censore,因此您需要将Censore重命名为Replacement或将所有对Replacement的引用更改为Censore

实际上,由于Censore / Replacementstatic类的Censor方法,因此您不需要Censor个对象才能叫它。你可以写,例如

input.nextLine[0] = Censor.Replacement(input.nextLine());

然后你根本不需要Censor c = new Censor();。您仍然需要解决可能需要导入Censor类的问题,但是...