求java程序,输入数字,输出相应行数的金字塔星星

第一行一颗,第二行三颗,以奇数为序,以此类推

这是我刚才编写的用于输出金字塔的一个类。完整的代码。

//输出金字塔
import java.util.Scanner;
public class a1 {
public static void main(String[] args) {
Scanner a=new Scanner(System.in);
int N=5;//定义行数的变量
boolean b=true;
do
{
try
{
System.out.println("请输入整数类型的数字:");
N=a.nextInt(); //获取输入行数
b=false;
}
catch(Exception ea)
{
a=new Scanner(System.in);
// N=a.nextInt(); //获取输入行数
}
}while(b);
int i,j,m;
for(i=0;i<N;i++)//输出金字塔
{
for(m=0;m<N-1-i;m++)
{
System.out.printf(" ");
}
for(j=0;j<2*i+1;j++)
{
System.out.printf("*");
}
System.out.printf("\n");
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-09
把下面这段代码放在main里面,试试~~~
try {
System.out.print("请输入数字:");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = null;
str = reader.readLine();
boolean flag = true;
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
flag = false;
}
}
if(flag){
for(int i=1;i<=Integer.valueOf(str);i++){
for(int n=1;n<=Integer.valueOf(str)-i;n++){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print("* ");
}
System.out.println("");
}
}else{
System.out.println("请输入有效数字!");
}
} catch (Exception e) {
e.printStackTrace();
}追问

我有问题补充,每行输出个数都是奇数

追答

这很简单啊,循环的时候判断一下就可以了

追问

我试着改了,但是效果不好,要不麻烦你直接改改吧,谢啦

追答

try {
System.out.print("请输入数字:");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = null;
str = reader.readLine();
boolean flag = true;
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
flag = false;
}
}
if("".equals(str)){
flag = false;
}
if(flag){
for(int i=1;i<=Integer.valueOf(str);i++){
if(i%2==1){ //小伙子,就在这里加个判断为奇数,再输出
for(int n=1;n<=Integer.valueOf(str)-i;n++){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print("* ");
}
System.out.println("");
}
}
}else{
System.out.println("请输入有效数字!");
printStar();
}
} catch (Exception e) {
e.printStackTrace();
}

追问

没有成功,顺便,我是大姑娘~

追答

哦,有点言不达意,误解了你的题目,见笑了~~

追问

没关系,可能我的表达也有误,还是感谢你、、、如果可以,请再发一个正确程序,因为我需要两种解决方法,请发到605596839@qq.com 谢谢

本回答被网友采纳

求java程序,输入数字,输出相应行数的金字塔星星
import java.util.Scanner;public class a1 { public static void main(String[] args) { Scanner a=new Scanner(System.in);int N=5;\/\/定义行数的变量 boolean b=true;do { try { System.out.println("请输入整数类型的数字:");N=a.nextInt(); \/\/获取输入行数 b=false;} catch(Excep...

java,输入整数n(1<=n<=9),打印出n行数字金字塔,急急急!!!
import java.util.Scanner;public class Test01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);System.out.println("请输入一个1-9之间的整数");int n = sc.nextInt();while(n<1 || n>9){ System.out.println("你输入的数字不在0-9之间,或者不是...

在java中编一个可以输出星号金字形状的程序,挂上详解!重谢
1、中心对齐;2、从上往下,每一层的星星个数都是奇数,而且每一层星星数量可以用以下公式来计算:2*n-1;3、每一层前面都会出现空位,前面的空位数为当前层数减1,即满足公式:n-1 根据上述规律,我们得出如下算法:public void testKing() {\/\/ 定义金字塔层数int n = 7; for (int i = 1...

编写java程序打印金字塔形图案。
}\/\/这一句共执行 i+1次。即输出2i+1个*。\/\/该输出的都输出了,换一行继续打印。System.out.println();\/\/打印一个回车符,即换行了。}\/\/你可以迭代一下每个i值,看看打印的个数对不对。} }下边是我写的其他程序。

编写java程序,输入一个整数n,用以代表行数,使用循环嵌套输出如下金字塔...
public static void main(String[] args) { System.out.println("请输入三角里的最大数:");Scanner input = new Scanner(System.in);int max = Integer.valueOf(input.next());\/\/ 将字符串转变成int型 int k = max;int n = (max - 1) * 2 + 1; \/\/ 每行的个数 int[][] array...

用java的for循环编写程序,输出以下数字金字塔,最好带注释。
for(n=1; n<=5; n++) { \/\/最外层循环控制输出的行数,分别是第一到第五行;for(i=1; i<=5-n; i++) { \/\/这个循环控制每行前面的空格输出,如:第一个前面输出4个空格;System.out.print(" ");} for(j= 5-n+1; j<=5; j++) { \/\/ 这个循环控制中间数字一直到5的输...

Java编程,用for语句输出如下金字塔数形:
int n=5; \/\/控制层数 for(int i=1;i<=n;i++){ String str=2*i-1+"";for(int j=2*i-3 ; j>0 ; j-=2){ str = j+str+j ;} System.out.println(str);}

如何用JAVA 编写一个递归程序输出如下数字金字塔
for (int i=1; i<=4; i++){ for ( int k=1; k<=4-i; k++) System.out.print(" ");\/\/输出前导空格 for ( int j=1; j<=i, j++) System.out.print(""+j);\/\/输出升序数字 for ( int m=i-1; m>=1; m--) System.out.print(""+j);\/\/输出降序数字 System....

JAVA以金字塔形式输出 1 2 3 4 5 6
3; for(int i=x;i>0;i--){ for (int j = 1; j < i; j++) { System.out.print(" "); } for (int K = 0; K <= x-i; K++) { System.out.print(count); System.out.print(" "); count ++; } System.out.println(""); } ...

java输入金字塔行数,打印出倒立金字塔图案 例如:*** *** *
代码如下:import java.util.Scanner;public class App13 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入金字塔层数:");int n = scanner.nextInt();for (int i = n; i >= 0; i--) {for (int k = 0; k < n - i...

相似回答