for循环打印菱形 打印出如下图案 * *** ****** ******** ****** *** * 对于1、3、6、8个星号,实在没找出规律。。求解答! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://zhidao.baidu.com/question/48693806 一朋友问我的,算法问题嘛,总不能一个println语句输出吧 public class Test{ public static void main(String[] args){ Print(7); } public static void Print(int height){ //找出中间位置 //中间位置之前,正常打印 //中间位置之后,整个高度减去中间位置*2=该行打印*数,之后再减1 int value = height/2; for (int i = 0; i < height; i++) { if(i<=value){ for(int j = 0;j<2*i+1;j++){ System.out.print("*"); } System.out.println(); } else { for(int j = 0;j<(height-i)*2-1;j++){ System.out.print("*"); } System.out.println(); } } }} 可以让用户设置每行输入的*的个数输入java Test 1 3 6 8即可public class Test{ public static void main(String[] args){ int n[]=new int[args.length]; for(int i=0;i<args.length;i++){ try{ n[i]=Integer.parseInt(args[i]); }catch(NumberFormatException e){ System.out.println("必须输入数字"); System.exit(-1); } print(n[i]); } for(int i=args.length-2;i>=0;i--){ print(n[i]); } } public static void print(int n){ for(int i=0;i<n;i++){ System.out.print("*"); } System.out.println(); }} import java.util.Scanner;public class rhomb { //图形的规律是(可能不准确):后面的行※号数比前面的多的数目是:2,3,2,3,2,3,... //上面说的是前面的一半多一行,后面的和前面的一样。 public static void main(String[] args) { int len = 0;//每行打印的※号数 int row;//总共的行数,根据图形的规律,是奇数 Scanner input = new Scanner(System.in); System.out.println("请输入图形的总行数(注意为正奇数):"); row = input.nextInt(); if(row % 2 == 0 || row < 0) { System.out.println("行数为正奇数!"); return; } //定义一个数组,用来存放前面输出的各行的长度 int[] arr = new int[row / 2 + 1]; //打印前面的一半多一行 for(int i=0; i<row/2+1; i++) { arr[i] = len; for(int j=0; j<=len; j++) { System.out.print('*'); } System.out.println(); //根据规律,如果是第一行,后面的比前面的长2,如果是第二行,后面的比前面的长3, //也就是说,当i为偶数的时候,长度加2,为奇数的时候,长度加3,所以如下处理长度。 if(i % 2 == 0) { len += 2; } else { len += 3; } } //打印后面的一半,其长度依次是arr[arr.length-2],...,arr[0] for(int i=arr.length-2; i>=0; i--) { for(int j=0; j<=arr[i]; j++) { System.out.print('*'); } System.out.println(); } }} 可以把height 和value 具体化 ,没其他的复杂 。这个就行 linux 下用java调用sudo命令能实现吗 父类窗体有3个按钮,但个个子类继承过来后每个button的相应不同,请问如何做? answer question 关于 流的问题 jexcel读取excel问题,为什么读取内容的是空值? 初学java,求一本java2的基础类库手册 总算成为一颗红星,散些分先 只有class文件,如何看到原代码 求机械出版社的 java2 图形设计卷一 awt的ebook! 既然是实现的Cloneable接口,应该是一样的啊!请不吝赐教。绝对给分。 请教关于类的强制转换 改变字符串的颜色
public class Test{
public static void main(String[] args){
Print(7);
}
public static void Print(int height){
//找出中间位置
//中间位置之前,正常打印
//中间位置之后,整个高度减去中间位置*2=该行打印*数,之后再减1
int value = height/2;
for (int i = 0; i < height; i++) {
if(i<=value){
for(int j = 0;j<2*i+1;j++){
System.out.print("*");
}
System.out.println();
}
else {
for(int j = 0;j<(height-i)*2-1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
}
输入java Test 1 3 6 8即可
public class Test{
public static void main(String[] args){
int n[]=new int[args.length];
for(int i=0;i<args.length;i++){
try{
n[i]=Integer.parseInt(args[i]);
}catch(NumberFormatException e){
System.out.println("必须输入数字");
System.exit(-1);
}
print(n[i]);
}
for(int i=args.length-2;i>=0;i--){
print(n[i]);
}
}
public static void print(int n){
for(int i=0;i<n;i++){
System.out.print("*");
}
System.out.println();
}
}
import java.util.Scanner;
public class rhomb {
//图形的规律是(可能不准确):后面的行※号数比前面的多的数目是:2,3,2,3,2,3,...
//上面说的是前面的一半多一行,后面的和前面的一样。
public static void main(String[] args) {
int len = 0;//每行打印的※号数
int row;//总共的行数,根据图形的规律,是奇数
Scanner input = new Scanner(System.in);
System.out.println("请输入图形的总行数(注意为正奇数):");
row = input.nextInt();
if(row % 2 == 0 || row < 0) {
System.out.println("行数为正奇数!");
return;
}
//定义一个数组,用来存放前面输出的各行的长度
int[] arr = new int[row / 2 + 1];
//打印前面的一半多一行
for(int i=0; i<row/2+1; i++) {
arr[i] = len;
for(int j=0; j<=len; j++) {
System.out.print('*');
}
System.out.println();
//根据规律,如果是第一行,后面的比前面的长2,如果是第二行,后面的比前面的长3,
//也就是说,当i为偶数的时候,长度加2,为奇数的时候,长度加3,所以如下处理长度。
if(i % 2 == 0) {
len += 2;
} else {
len += 3;
}
}
//打印后面的一半,其长度依次是arr[arr.length-2],...,arr[0]
for(int i=arr.length-2; i>=0; i--) {
for(int j=0; j<=arr[i]; j++) {
System.out.print('*');
}
System.out.println();
}
}
}