如何用C#但使用Java语法打印ASCII模式?
下面的代码用于模式如何用C#但使用Java语法打印ASCII模式?,java,c#,multidimensional-array,ascii-art,Java,C#,Multidimensional Array,Ascii Art,下面的代码用于模式a,感觉一旦我得到a我就可以得到其他的 我喜欢Java中的array[int].length语法,它有助于获得如图所示的打印模式。但我认为C#中不存在这样的东西 主类{ 公共静态void main(字符串[]args) { char[]arr=新字符[10][10]; int starCount=10; 对于(int i=0;i
a
,感觉一旦我得到a
我就可以得到其他的
我喜欢Java中的array[int].length
语法,它有助于获得如图所示的打印模式。但我认为C#中不存在这样的东西
主类{
公共静态void main(字符串[]args)
{
char[]arr=新字符[10][10];
int starCount=10;
对于(int i=0;i
此代码以递减的方式打印*
,但我正在努力解决如何用-
字符替换数组中的空元素,如图所示
class类main类{
公共静态void Main(字符串[]args)
{
字符[,]arr=新字符[10,10];
int starCount=10;
对于(int i=0;i
对于原始问题,这里有一种不同的方法,您可能更容易转换
构建一个由10颗星和9条破折号组成的字符串,例如,硬编码为:
String line=“************--------------”;
现在打印包含该字符串子字符串的10行:
for(int i=0;i<10;i++)
System.out.println(行子串(i,i+10));
输出
**********
*********-
********--
*******---
******----
*****-----
****------
***-------
**--------
*---------
如果大小是动态的,基于变量starCount
中的int
值,则在Java 11+中可以使用以下方法:
String line=“*”.repeat(starCount)+“-”.repeat(starCount-1);
对于(int i=0;i
用C#做这个应该很容易。请参阅:
在低于11的Java版本中,您可以构建char[]
:
char[]行=新字符[2*starCount-1];
数组。填充(行,0,starCount,'*');
数组.填充(行,星数,行.长度'-');
对于(int i=0;i
最简单的方法是查看Array类的C#文档。在这里,您会发现Array类有一个方法,它返回Java数组的length
属性返回的值
使用该方法,您可以将代码更改为
class类main类{
公共静态void Main(字符串[]args)
{
字符[,]arr=新字符[10,10];
int starCount=10;
for(int i=0;i
您可以使用两个嵌套for循环和一个if-else语句来打印所有这些模式。这是Java代码,但我认为它可以很容易地转换为C:
int n=5;
对于(int i=-n;i)