如何修改void类方法,以便返回所需的信息

时间:2017-02-11 01:30:01

标签: java class types return

我写了一个包含完整静态方法集合的类。我的一个静态方法接受一个字符串作为参数。我应该给John Mike Baldibanga这样的方法发一个名字,它应该返回一个只包含前两个名字的首字母和完整姓氏的字符串。

所以,如果我将John Mike Baldibanga发送给我的方法,我希望它能够返回 J M Baldibanga。

到目前为止,我只能通过使用void来弄清楚如何使方法工作。

    public static void Theinitials(String z){

        String s []= z.split(" ");

                System.out.print(s[0].charAt(0) + " ");

                System.out.print(s[1].charAt(0)+ " ");
            System.out.println(s[2]);


    }

这是我目前称之为方法的方法:

String.Theinitials(名称);

3 个答案:

答案 0 :(得分:5)

  

它应该返回一个字符串

因此,请返回String而不是void而不是System.out.print,建立一个String resultreturn

public static String theInitials(String z){
    String s []= z.split(" ");
    String result = s[0].charAt(0) + " " + s[1].charAt(0) + " " + s[2];
    return result;
}

如果您需要做什么,请稍后再打印:

String initials = WhatEverYourClassIsCalled.theInitials(name);
System.out.println(initials);

String.Theinitials(name);开始,您的班级名为String。这可能会让你有些头疼,我建议重新命名。

还要注意我如何调用方法theInitials,在Java中命名方法和变量时,这称为lowerCamelCase并且只是good practice

答案 1 :(得分:1)

void方法是一种没有返回类型的方法。我想你正在尝试返回一个字符串,只需更改方法返回类型如下:

public static String Theinitials(String z){

    String s []= z.split(" ");
    String str;

    str = (s[0].charAt(0) + " ");
    str = (str + (s[1].charAt(0)+ " "));
    str = (str + s[2]);

    return str;
}

这应该创建一个字符串str,它将由您导出到控制台的字符串组成。然后返回该字符串。

答案 2 :(得分:1)

  

到目前为止,我只能弄明白如何让方法得以实现   使用虚空。

void根本不应该返回任何值。

如果您确实想通过使用void知道要使用的方法,请在类中声明一个私有静态成员,并将要返回的值赋给此静态变量。 [虽然这不是强烈推荐,但是因为您提出了]

最佳选择是让您的方法返回String