Java字符串方法不返回字符串
我对编码非常陌生,刚刚接触过静态方法,所以我为这些愚蠢的错误提前道歉。在main下调用该方法时,该方法应该显示一个三角形,但我得到的控制台是空的,没有输出。但是,如果我将此写在main下:Java字符串方法不返回字符串,java,string,methods,Java,String,Methods,我对编码非常陌生,刚刚接触过静态方法,所以我为这些愚蠢的错误提前道歉。在main下调用该方法时,该方法应该显示一个三角形,但我得到的控制台是空的,没有输出。但是,如果我将此写在main下: String triangle = getTriangle(3, 4); System.out.println(triangle); 然后,三角形将显示在控制台中,但对于此分配,必须仅使用 getTriangle(maxRows,maxCols) 公共类
String triangle = getTriangle(3, 4);
System.out.println(triangle);
然后,三角形将显示在控制台中,但对于此分配,必须仅使用
getTriangle(maxRows,maxCols)
公共类三角形{
公共静态字符串getTriangle(int-maxRows,int-maxCols){
字符串T=“”;
如果(maxRows<1 | | maxCols<1){
返回null;
}否则{
对于(int row=1;row使您的方法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);
}
publicstaticvoidgettriangle(int-maxRows,int-maxCols){
如果(maxRows<1 | | maxCols<1){
返回;
}
字符串T=“”;
对于(int row=1;row您可以添加行
系统输出打印ln(T);
之前
返回T;
这样做。您可以在方法返回它之前打印它
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";
}
}
System.out.println(T); // Print the triangle
return T;
}
public静态字符串getTriangle(int-maxRows,int-maxCols){
字符串T=“”;
如果(maxRows<1 | | maxCols<1){
返回null;
}否则{
对于(int row=1;row,您仍然需要在main方法中打印getTriangle的结果。现在您只需忽略该结果
System.out.println(getTriangle(3,2));
首先,您应该通过适当缩进代码来提高代码的可读性。
像这样阅读不是容易多了吗
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);
}
}
您正在接收字符串,只是没有输出它只是粘贴System.out.println(T)
在getTriangle
方法的最后,将其更改为returnvoid
,而不是String
。另外,请注意正确的代码格式。这对您和其他人都有帮助。returning value!=打印/显示值。getTriangle
应该返回一些内容(因为单词get
)。printTriangle
应该打印它。实际上,OP应该只覆盖toString
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));
}