下面的代码是模式“a”,感觉一旦我得到“a”,我就可以得到其他的。
我喜欢java中的array[int].length语法,它有助于获得要打印的模式,如图所示。但我不认为这样的事情存在于c#。
class Main
{
public static void main(String[] args)
{
char[][] arr = new char[10][10];
int starCount = 10;
for(int i = 0; i < arr.length; i++)
{
for(int j = 0; j < starCount; j++)
{
arr[i][j] = '*';
}
for(int k = starCount; k < arr[i].length; k++)
{
arr[i][k] = '-';
}
starCount--;
}
for(int a = 0; a < arr.length; a++)
{
for(int b = 0; b < arr[a].length; b++)
{
System.out.print(arr[a][b]);
}
System.out.println();
}
}
}
这段代码以递减的方式打印'*',但是我正在努力用'-'字符替换数组中的空元素,如图所示。
class MainClass {
public static void Main (string[] args)
{
char[ , ] arr = new char[10,10];
int starCount = 10;
for(int i = 0; i < arr.Length; i++)
{
for (int j = 0; j < starCount; j++)
{
arr[i , j] = '*';
}
for (int k = 0; ) //IDK WHAT TO DO TO ASSIGN ARR[I , K] = '-';
starCount--;
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
Console.Write(arr[i , j]);
}
Console.WriteLine();
}
}
}
2条答案
按热度按时间ujv3wf0j1#
最简单的方法是查看array类的c文档。在这里您会发现array类有一个
GetLength()
方法返回length
java数组的属性返回。使用该方法可以将代码更改为
bfhwhh0e2#
这里有一个不同的方法来解决原始问题,它可能更容易转换。
构建一个由10颗星和9个破折号组成的字符串,例如,硬编码为:
现在打印包含该字符串子字符串的10行:
输出
如果大小是动态的,则基于
int
变量中的值starCount
,则在Java11+中可以使用repeat()
方法:在c#中应该很容易做到这一点。请参阅:在c#中重复字符的最佳方法。
在低于11的java版本中,您可以构建
char[]
: