展开全部
那谁写的程序,狗P不通。。
看我写的吧,虽然麻烦了些。
class Demo {
public static void main(String[] args) {
print(11);
}
public static void print(int hang){ //行数必须为奇数
String[][] sArr = new String[hang][hang];
int first = sArr.length/2;
int last = first;
boolean kongZhi = false;
for (int a=0; a<sArr.length; a++)
{
if (a==hang/2)
{
kongZhi=true;
}
for (int b=0; b<hang; b++)
{
if ( (b>=first) && (b<=last) )
{
sArr[a][b]="*";
}else{
sArr[a][b]=" ";
}
System.out.print(sArr[a][b]);
}
if (kongZhi==false)
{
first--;
last++;
}else{
first++;
last--;
}
System.out.println();
}
}
}
看我写的吧,虽然麻烦了些。
class Demo {
public static void main(String[] args) {
print(11);
}
public static void print(int hang){ //行数必须为奇数
String[][] sArr = new String[hang][hang];
int first = sArr.length/2;
int last = first;
boolean kongZhi = false;
for (int a=0; a<sArr.length; a++)
{
if (a==hang/2)
{
kongZhi=true;
}
for (int b=0; b<hang; b++)
{
if ( (b>=first) && (b<=last) )
{
sArr[a][b]="*";
}else{
sArr[a][b]=" ";
}
System.out.print(sArr[a][b]);
}
if (kongZhi==false)
{
first--;
last++;
}else{
first++;
last--;
}
System.out.println();
}
}
}
追问
print(11);
}
public static void print(int hang){
String[][] sArr = new String[hang][hang];
这几行能解释一下么?不好意思麻烦了,我是小菜
追答
print();这个括号里跟着的是行数,不过必须是奇数。。这是调用方法的一个命令
我把整个代码写到方法里了,主要是方法调用,嘿嘿
String[][] sArr = new String[hang][hang];这行是新建一个字符串的二维数组,当然,char型的也可以不过有点麻烦,要强制转换!
比入你可以输出11行的,也可以输出21行的。
展开全部
一楼的太坑爹。。。。。。写成这样还不如直接一层一层输出。。。这样还用数组。。。。
给你个简化点的,按照2维数组的思路简化了下,不建立2维数组。
int a = 7; //需要菱形的行数
int n = a/2;
for(int i = 0; i < a; i++) {
for(int j = 0; j < a;j++) {
if(j>=n-i&&j<=n+i&&n-i>=0) {
System.out.print('*');
}
else if(i-n>=0&&j >= i-n&&j<a-i+n) {
System.out.print('*');
}
else System.out.print(' ');
}
System.out.println();
}
给你个简化点的,按照2维数组的思路简化了下,不建立2维数组。
int a = 7; //需要菱形的行数
int n = a/2;
for(int i = 0; i < a; i++) {
for(int j = 0; j < a;j++) {
if(j>=n-i&&j<=n+i&&n-i>=0) {
System.out.print('*');
}
else if(i-n>=0&&j >= i-n&&j<a-i+n) {
System.out.print('*');
}
else System.out.print(' ');
}
System.out.println();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte[][] bytes = {{1},{0,0,1,1,1},{1,1,1,1,1},{0,0,1,1,1},{0,0,0,0,1}};
for(byte[] bs : bytes) {
for(byte b : bs) {
if(b == 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for(byte[] bs : bytes) {
for(byte b : bs) {
if(b == 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
追问
for(byte[] bs : bytes) {
for(byte b : bs) {
这两个for语句括号里的语句我们没学过,能不能解释一下它的用法,作用什么的?
追答
就是for each
就是遍历啊数组的所有元素
for(byte[] bs : bytes)
byte[]元素的类型
bs 临时元素的变量名
元素集合,就是素组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询