如何打印字符串方法,idk对此表示遗憾

问题描述 投票:0回答:3
package com.example.test1;

import java.util.Scanner;

public class class1{
    public static String methodOne(String name){
        String studentName = name + " is his name";
        return (studentName);
    }


    public static void main(String[] args) {
        methodOne("John");
    }

}

如何获得打印姓名+“他的名字”的方法?当我运行它时它什么也没显示。我也无法在字符串studentName中添加System.out.println。我很抱歉。编辑:我想以某种方式将打印功能输入到方法中,而不是键入System.out.println来打印出methodOne,这可能吗?

java methods
3个回答
0
投票
package com.example.test1;

import java.util.Scanner;

public class class1{
    public static String methodOne(String name){
        String studentName = name + " is his name";
        return (studentName);
    }


    public static void main(String[] args) {
        System.out.println(methodOne("John")); // Print string in this console
    }

}

0
投票

函数返回一个字符串值,所以当您这样称呼她时:

methodOne("John");

您没有使用字符串值,您没有说打印它或任何东西。

您可以这样使用返回值:

   package com.example.test1;

    import java.util.Scanner;

    public class class1{
        public static String methodOne(String name){
            String studentName = name + " is his name";
            return (studentName);
        }


        public static void main(String[] args) {
            String nameStudent = methodOne("John"); // Saves the returned value in a variable
            System.out.println(nameStudent ); // Prints the returned value stored in the variable
        }

    }

您也可以直接打印而无需存储变量,正如他们在这里所说的。


0
投票

我想以某种方式将打印功能输入到方法中。

我有两种解释方式。

您可能只是想在methodOne方法中进行打印。很简单:

public static String methodOne(String name){
    String studentName = name + " is his name";
    System.out.println(studentName);
    return studentName;
}

评论:

  1. 如果您要以这种方式进行操作,则methodOne不需要返回任何明显的原因。您可以将其声明为void方法。

  2. 这样做可能是不好的设计。一般来说,一种方法应该做一件事。 (设计原理是关注点分离(SoC)。)但是,此修改后的方法可做两件事。它正在形成字符串,并正在打印它。并且由于将其打印到特定位置(标准输出),因此其实用程序受到限制。 (如果我想创建该字符串而不打印该怎么办?如果我想将其打印到另一个流该怎么办?)


第二种解释是,您字面上想要将println方法传递给methodOne方法...以便它可以调用它。这是您可以做到的方式:

public static String methodOne(String name,
                               java.util.function.Consumer<String> fn){
    String studentName = name + " is his name";
    fn(studentName);
    return studentName;
}

并这样称呼它

methodOne("Fred", System.out::println);
© www.soinside.com 2019 - 2024. All rights reserved.