Java Can';t调用函数的返回

Java Can';t调用函数的返回,java,return,Java,Return,我已经创建了下一个代码,但是无法调用normalizeText返回的值。为什么呢 public class crypto { public static void main (String [] args) { String text = "Dit is een test"; normalizeText(text); shiftAlphabet(normalizedText,-1); System.out.println("Dit is: " + normali

我已经创建了下一个代码,但是无法调用normalizeText返回的值。为什么呢

public class crypto {

public static void main (String [] args) {
    String text = "Dit is een test";
    normalizeText(text);
    shiftAlphabet(normalizedText,-1);
    System.out.println("Dit is: " + normalizedText());
}

public static String normalizeText(String text){
    String normalizedText = text;
    text.replaceAll("\\s+","");
    normalizedText= text.replaceAll("[^a-zA-Z ]", "");
    normalizedText= text.toUpperCase();
    return normalizedText;
}

您尚未将normalizeText的结果指定给变量

String normalizedText = normalizeText(text);
shiftAlphabet(normalizedText,-1);
System.out.println("Dit is: " + normalizedText);

您尚未将normalizeText的结果指定给变量

String normalizedText = normalizeText(text);
shiftAlphabet(normalizedText,-1);
System.out.println("Dit is: " + normalizedText);
改变

改变


我认为你想要实现的是:

public class crypto {

    public static void main (String [] args) {
        String text = "Dit is een test";
        String myNormalizedText = normalizeText(text);
        shiftAlphabet(myNormalizedText,-1);
        System.out.println("Dit is: " + myNormalizedText);
    }

    public static String normalizeText(String text){
        String normalizedText = text;
        text.replaceAll("\\s+","");
        normalizedText= text.replaceAll("[^a-zA-Z ]", "");
        normalizedText= text.toUpperCase();
        return normalizedText;
    }

我认为你想要实现的是:

public class crypto {

    public static void main (String [] args) {
        String text = "Dit is een test";
        String myNormalizedText = normalizeText(text);
        shiftAlphabet(myNormalizedText,-1);
        System.out.println("Dit is: " + myNormalizedText);
    }

    public static String normalizeText(String text){
        String normalizedText = text;
        text.replaceAll("\\s+","");
        normalizedText= text.replaceAll("[^a-zA-Z ]", "");
        normalizedText= text.toUpperCase();
        return normalizedText;
    }

你的代码是如何编译的


您正在调用System.out.println(“Dit是:+normalizedText());没有参数。normalizedText()方法需要一个字符串。您是否定义了另一个normalizedText()方法,但签名中没有参数?

您的代码是如何编译的


您正在调用System.out.println(“Dit是:+normalizedText());没有参数。normalizedText()方法需要一个字符串。是否定义了另一个normalizedText()方法,但签名中没有参数?

这自始至终都是错误的。您正在调用normalizeText方法,而没有将其分配给变量。然后尝试调用normalizeText(),而不使用未定义的参数

尝试:


这自始至终都是错误的。您正在调用normalizeText方法,而没有将其分配给变量。然后尝试调用normalizeText(),而不使用未定义的参数

尝试:


您没有将结果分配给变量,请尝试以下操作:

 public static void main (String [] args) {
        String text = "Dit is een test";
        String normalizedText = normalizeText(text);
        shiftAlphabet(normalizedText,-1);
        System.out.println("Dit is: " + normalizedText);
    }

    public static String normalizeText(String text){
        String normalizedText = text;
        text.replaceAll("\\s+","");
        normalizedText= text.replaceAll("[^a-zA-Z ]", "");
        normalizedText= text.toUpperCase();
        return normalizedText;
    }

您没有将结果分配给变量,请尝试以下操作:

 public static void main (String [] args) {
        String text = "Dit is een test";
        String normalizedText = normalizeText(text);
        shiftAlphabet(normalizedText,-1);
        System.out.println("Dit is: " + normalizedText);
    }

    public static String normalizeText(String text){
        String normalizedText = text;
        text.replaceAll("\\s+","");
        normalizedText= text.replaceAll("[^a-zA-Z ]", "");
        normalizedText= text.toUpperCase();
        return normalizedText;
    }

因为没有正确调用该方法,所以需要将String的实例作为参数传递
shiftAlphabet
做什么?您知道字符串是不可变的吗?因为您没有正确调用该方法,所以需要将字符串实例作为参数传递
shiftAlphabet
做什么?您知道字符串是不可变的吗?虽然只有代码的答案可能是正确的,但它并不总是有用的。请提供详细说明/@Jeet sry,我想添加expalantions z,但没有稳定的互联网连接,我无法做到这一点。现在,有很多其他答案都有很好的解释。虽然只有代码的答案可能是正确的,但它并不总是有用的。请提供详细说明/@Jeet sry,我想添加expalantions z,但没有稳定的互联网连接,我无法做到这一点。现在,有很多其他的答案都有很好的解释