当前位置: 首页 > 知识库问答 >
问题:

Java字符串方法未返回字符串[重复]

元英朗
2023-03-14

我对编码非常陌生,刚刚接触过静态方法,所以我为这些愚蠢的错误提前道歉。在main下调用该方法时,该方法应该显示一个三角形,但我得到的控制台是空的,没有输出。但是,如果我将此写在main下:

    String triangle = getTriangle(3, 4);    
    System.out.println(triangle);               

然后,三角形将显示在控制台中,但是对于这个赋值,字符串/三角形必须仅通过使用getTrigle(maxRow,maxCols)来调用

public class Triangle {

    public static String getTriangle(int maxRows, int maxCols) {
        String T = "";

        if (maxRows < 1 || maxCols < 1) {
            return null;
        } else {
            for (int row = 1; row <= maxRows; row++) {
                for (int col = 1; col <= row; col++) {
                    T += "*";
                }
                T += "\n";  }   
            }
            return T;
        }
    }


    public static void main(String[] args) {
        getTriangle(3,2);           

    }

}

共有3个答案

於炯
2023-03-14

首先,您应该通过适当缩进来使代码更具可读性。
这样读不是容易得多吗?

public class Triangle {

    public static String getTriangle(int maxRows, int maxCols) 
    {
        String T = "";

        if (maxRows < 1 || maxCols < 1) 
        {
            return null;

        } 
        else 
        {
            for (int row = 1; row <= maxRows; row++) 
            {
                for (int col = 1; col <= row; col++) 
                {
                    T += "*";
                }
                T += "\n";  
            }   
        }
        return T;
    }

    public static void main(String[] args) 
    {
        getTriangle(3,2);           
    }
}

其次也是更重要的是,正如其他人所说,你的主要方法应该是

public static void main(String[] args) 
{
    System.out.println(getTriangle(3,2));
}

您正在接收字符串,只是没有输出它

巫马劲
2023-03-14

使您的方法void并在方法末尾打印T

public static void getTriangle(int maxRows, int maxCols) {    
    if (maxRows < 1 || maxCols < 1) {
        return; 
    }

    String T = "";

    for (int row = 1; row <= maxRows; row++) {
        for (int col = 1; col <= row; col++) {
            T += "*";
        }
        T += "\n";
    }

    System.out.println(T);
}

由于不再返回三角形,因此可以将该方法重命名为printTriangle。就我个人而言,如果条件maxRows,我会抛出一个异常

李耀
2023-03-14

您仍然需要在main方法中打印getTriangle的结果。现在你只是忽略了这个结果。

System.out.println(getTriangle(3,2));
 类似资料:
  • GETRANGE key start end 返回key 中字符串值的子字符串,字符串的截取范围由start 和end 两个偏移量决定(包括start 和end 在内)。可以使用负值,字符串右面下标是从-1开始的。 注意返回值处理: 1: start>=length, 则返回空字符串 2: stop>=length,则截取至字符结尾 3: 如果start 所处位置在stop右边, 返回空字符串

  • 我们可以通过扩展String class来覆盖我们类中String class的所有方法吗?

  • 本文向大家介绍Java字符串方法,包括了Java字符串方法的使用技巧和注意事项,需要的朋友参考一下 字符串类在Java中有很多方法可以处理字符串,查找长度,格式化字符串,连接等。 以下是Java中的一些字符串方法- 序号 方法与说明 1 char charAt(int index) 返回指定索引处的字符。 2 int compareTo(Object o) 将此字符串与另一个对象进行比较。 3 i

  • 编者按:这个问题中的语法早于Rust 1.0,1.0更新的语法会产生不同的错误,但Rust 1.0中的总体概念仍然相同。 我有一个带有字段的结构T,我想从函数返回该字符串。我不想复制整个字符串,只是指针: 为什么这是错误的?返回

  • 问题内容: 在oracles 网站上的Java API中:“ compareTo返回:”如果参数字符串等于此字符串,则值为0;否则为0。如果此字符串在字典上小于字符串参数,则小于0的值;如果该字符串在字典上大于字符串参数,则该值大于0。 这是一个if语句: 由于字符串a在字典上较大,因此返回true。 我的问题是,compareTo总是返回0、1或-1吗?还是返回字符串大于或小于字符串参数的实际

  • 问题内容: 我有一个返回字符串的Java实例方法,我正在C ++中通过JNI调用此方法。我写了以下代码: 如何获取字符串并将其转换为const char *? 我的程序在访问冲突为0x00000000的最后一行崩溃。returnString不是NULL。 问题答案: 根据,最后一个参数是的指针。 更改 至 或者更好的是,返回一个 我建立了一个类似的简单示例,到目前为止,代码看起来还不错。 虽然,有