如何用JAVA 编写一个递归程序输出如下数字金字塔这是我刚才编写的用于输出金字塔的一个类 。完整的代码 。//输出金字塔importjava.util.Scanner;publicclassa1{publicstaticvoidmain(String[]args){Scannera=newScanner(System.in);intN=5;//定义行数的变量booleanb=true;do{try{System.out.println("请输入整数类型的数字:");N=a.nextInt();//获取输入行数b=false;}catch(Exceptionea){a=newScanner(System.in);//N=a.nextInt();//获取输入行数}}while(b);inti,j,m;for(i=0;iN;i++)//输出金字塔{for(m=0;mN-1-i;m++){System.out.printf("");}for(j=0;j2*i+1;j++){System.out.printf("*");}System.out.printf("\n");}}}
怎么用java编写金字塔?public class King
{
public static void main(String argc[]) {
int t;
java.util.Scanner san = new java.util.Scanner(System.in);
System.out.print("请输入行数: ");
t = san.nextInt();
for (int i = 1; i = t; i++) {
for (int f = 1; f = (t - i); f++)
System.out.print(" ");
for (int ff = 1; ff = (2 * i - 1); ff++)
System.out.print("*");
System.out.println();
}
}
}
求镂空的倒金字塔java代码....金字塔可用*代替! 谢了import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
// 点阵法:
// 首先,我们假设金字塔是等边三角形,等边三角形与矩形的关系是:
// 1, 底边是矩形的宽度
// 2, 高是举行的长度
// 3, 顶点是矩形的底边中点
// *******
// |**|
// | * * |
// ---*---
// 这样 , 如果我们知道矩形的长和宽,我们就能指导等边三角形在矩形每一行中的点位于什么位置了:
// 若长(height)为4,宽(width)为7.
// 计算等边三角形在某一行x的两点位置为:
// 若x == 1, 则整行都是三角形的边
// 若x == 4, 则只有中点是三角形的边 。中点 = width / 2 + (width % 20 ? 1 : 0)
// 若 x1x4,则左点 = width / (2 * height) * x; 右点 = width - width / (2 * height) * x + 1;
// 知道了三角形的点,我们就能画出金字塔了 。
// Java2D
// 首先 , 找到三角形的三个点 , 在两两相连即可 。
// 示例如下:
public class Question1 {
// 矩形
class Rec{
int height;
int width;
public Rec(int height, int width){
this.height = height;
this.width = width;
}
public int getHeight() {
return height;
}
public int getWidth() {
return width;
}
}
// 以字符串打印形式绘制[点阵法]
public Question1(int height, int width, char shape) {
height = height = 0 ? 3 : height; // 对参数进行验证整理
width = width = 0 ? 3 : width; // 对参数进行验证整理
// 每行有多少点?
int rowPoints = width;
// 不要忘记每行最后还有换行符
rowPoints ++;
// 总共有多少点?
int totalPoints = rowPoints * height;
char[] allChar = new char[totalPoints]; // 所有行的字符
// 特殊处理第一行
for(int i = 0; irowPoints; i++){
if(irowPoints - 1) // rowpoints位是换行符,所以这里需要特殊处理 。
allChar[i] = shape;
else
allChar[i] = '\n';
}
// 处理从第二行到倒数第二行
for(int i = 2; iheight; i++){
//左点 = width / (2 * height) * x; 右点 = width - width / (2 * height) * x + 1;
// 但是这里得牢记,运算符的运算顺序,所以必须这样写:
int leftpoint = (width * i) / (2 * height);
int rightpoint= width - (width * i) / (2 * height) + 1;
for(int j = 0; jrowPoints; j++){
int index = (i - 1) * rowPoints + j; // 这里对数组index的计算很重要,千万别算错了 。
推荐阅读
- 主流浏览器对html5的兼容性,浏览器对html5的支持
- 三星电视一直转圈怎么回事,三星电视机为什么一直闪
- phpcms内容编辑写html,phpcms模板制作教程
- 解谜冒险游戏缩写,解谜冒险游戏缩写是什么
- python的小写r函数 python 小写
- 竞技游戏落落,竞技游戏小说
- 什么是word版,什么是word版本的稿件
- linux蓝牙命令连接 linux如何打开蓝牙
- 安卓市场开发者网站,安卓市场开放平台