用Java编写一个倒等腰三角形!!
4个回答
展开全部
写一个倒等腰三角形
一、思路:
1.尝试用*号画图,倒的等腰三角形是每行输出的*号不一样,最后一行是1个,按照每行减少两个*号算,第一行的*号数量一定要是单数才行。
2.需要用到格式控制,第一行输出全部的*号,第二行就要输出一个空格,在输出比上一行少两个*号的数量。
3.行数由第一行的*数量决定,而每行用于格式控制的空格,是从第二行开始,第一次是空一个格,以后每次都比上一行多一个空格符号。
二、实现
1.每行的输出都是有规律的,用循环最好,定义一个第一行行数的值,根据这个值输出*号,这个值一定是单数才行。
2.每行输出的*号比上一行少两个,直到剩下1结束。
3.定义一个空格输出的控制器,也就是一个变量,控制空格输出的个数,从第二行开始,按1、2、3...输出。
代码如下:
public class TriangleTest {
public static final int COUNT = 9; //第一行*号的个数,修改此值,可以控制三角形的大小
/**
* 写一个倒等腰三角形
* 一、思路:
* 1.尝试用*号画图,倒的等腰三角形是每行输出的*号不一样,最后一行是1个,按照每行减少两个*号算,
* 第一行的*号数量一定要是单数才行。
* 2.需要用到格式控制,第一行输出全部的*号,第二行就要输出一个空格,在输出比上一行少两个*号的数量
* 3.行数由第一行的*数量决定,而每行用于格式控制的空格,是从第二行开始,第一次是空一个格,以后每次都比上一行多一个空格符号
* 二、实现
* 1.每行的输出都是有规律的,用循环最好,定义一个第一行行数的值,根据这个值输出*号,这个值一定是单数才行
* 2.每行输出的*号比上一行少两个,直到剩下1结束
* 3.定义一个空格输出的控制器,也就是一个变量,控制空格输出的个数,从第二行开始,按1、2、3...输出
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
int nullCount = 0; //控制空格的输出数量
int starCount = COUNT; //*号数量
while(starCount != -1){
for(int i = 0;i < nullCount;i++){ //输出空格,因为初始值为0,所以第一次不会输出
System.out.print(" ");
}
nullCount++; //空格个数在下一行要多一个,所以+1
for(int n = 0;n < starCount;n++){ //输出*号
System.out.print("*");
}
System.out.println(); //输出完毕,执行换行
starCount -= 2; //输出完一行*号后,下一行的*号要减少2个
}
}
}
运行结果如下:
注:修改COUNT的值可以控制三角形的大小,但是必须是单数。
2013-08-10
展开全部
public class DaoSanJiao { // 定义一个倒三角的类,有主方法和 输出倒等腰三角形方法
public static void main(String[] args) { // 定义主方法,程序从这里开始
printDengyao(10); // 调用输出倒三角形的方法,*数为10, 即高度(层)也为10
// 10可以换成任何整型值
}
public static void printDengyao(int x) { // 定义一个输出倒三角的方法
for (int i = 0; i < x; i++) { // 要输出的整体(全部多少行)用这个for循环控制
System.out.println(); // 输出一行*后跳到下一行
for (int j = 0; j < i + 1; j++) { // 这个循环用来输出空格,以达到输出倒等腰三角形的效果
System.out.print(" ");
}
for (int j = i; j < x; j++) { // 这个循环用来输出*,他的数目有传入的参数x决定
System.out.print("* "); // 如:i=0时即第一行,输出x个“*”
}
}
}
}
public static void main(String[] args) { // 定义主方法,程序从这里开始
printDengyao(10); // 调用输出倒三角形的方法,*数为10, 即高度(层)也为10
// 10可以换成任何整型值
}
public static void printDengyao(int x) { // 定义一个输出倒三角的方法
for (int i = 0; i < x; i++) { // 要输出的整体(全部多少行)用这个for循环控制
System.out.println(); // 输出一行*后跳到下一行
for (int j = 0; j < i + 1; j++) { // 这个循环用来输出空格,以达到输出倒等腰三角形的效果
System.out.print(" ");
}
for (int j = i; j < x; j++) { // 这个循环用来输出*,他的数目有传入的参数x决定
System.out.print("* "); // 如:i=0时即第一行,输出x个“*”
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class DaoSanJiao { public static void main(String[] args) {
int high;
System.out.println("请输入等腰三角形的高:");
high=DaoSanJiao.getInteger();
printDengyao(high);
} public static void printDengyao(int x) {
for (int i = 0; i < x+1; i++) { //控制行的下移
System.out.println();
//以下这三个for是平行的,处于同一行来控制同一行的不同输出
for (int j = 1; j < i + 1; j++) {
System.out.print(" ");//打印两个空格
}
for (int j = i; j < x; j++) {
System.out.print("* ");//为了格式的对应,打印一个星号一个空格
}
for (int j = i; j < x+1; j++) {
System.out.print("* ");//为了格式的对应,打印一个星号一个空格
}
}
}
public static int getInteger(){
BufferedReader inputStream = new BufferedReader(
new InputStreamReader(System.in));
try {
return (Integer.valueOf(inputStream.readLine().trim()).intValue());
} catch (Exception e) {
System.out.println("输入有误,请输入数字!");
return 0;
}
}}
import java.io.InputStreamReader;
public class DaoSanJiao { public static void main(String[] args) {
int high;
System.out.println("请输入等腰三角形的高:");
high=DaoSanJiao.getInteger();
printDengyao(high);
} public static void printDengyao(int x) {
for (int i = 0; i < x+1; i++) { //控制行的下移
System.out.println();
//以下这三个for是平行的,处于同一行来控制同一行的不同输出
for (int j = 1; j < i + 1; j++) {
System.out.print(" ");//打印两个空格
}
for (int j = i; j < x; j++) {
System.out.print("* ");//为了格式的对应,打印一个星号一个空格
}
for (int j = i; j < x+1; j++) {
System.out.print("* ");//为了格式的对应,打印一个星号一个空格
}
}
}
public static int getInteger(){
BufferedReader inputStream = new BufferedReader(
new InputStreamReader(System.in));
try {
return (Integer.valueOf(inputStream.readLine().trim()).intValue());
} catch (Exception e) {
System.out.println("输入有误,请输入数字!");
return 0;
}
}}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
public class Test
{
public static void main(String args[])
{
for(int i=0;i<=10;i+=2)
{
for(int j=5;j>=i/2;j--)
System.out.print(" ");
for(int j=1;j<=i;j++)
{
System.out.print("*");
}
System.out.println("");
}
} }
{
public static void main(String args[])
{
for(int i=0;i<=10;i+=2)
{
for(int j=5;j>=i/2;j--)
System.out.print(" ");
for(int j=1;j<=i;j++)
{
System.out.print("*");
}
System.out.println("");
}
} }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询