如何用java的for循环做一个等腰三角形?
3个回答
展开全部
第1种方法:
要用三循环才可以, 这个就是三角形的代码.
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 7; i++) {
for (int j = 1; j <= 7-i; j++) {//7-i的意思是第一次的时候7-I等于6那这个for这输入6个空格第二次的时候7-I等于5那for就输入5个空格//每循环一次这个I就要自动加一个数
System.out.print(" "); //这里面意思是输入空格 //注意这里的空格是的确要输入的不然可以在空格里输入一个数字看一看效果
}
for (int ji = 1; ji <=2*i-1; ji++) {//这个for循环的意思是输入*号
//和ji<=2*i-1的意思是;这里2*i-1的意思是在空格后面加入一个*号,第一次循环是
System.out.print("*");
}
System.out.println();//这里的意思在下一次循环的时候换行ln的意思就是换行。而没有ln的就不换行
}
}
}
第2种方法:
首先要有一个参数,即等腰三角形的高度h,然后根据h计算第i层打印的字符数量n以及开始位置s,接着把n和s作为参数传给执行打印的方法printchars(s,n);
例:
------*------
----*-*-*----
--*-*-*-*-*--
*-*-*-*-*-*-*
以最后一行的字符数为准,最后一行的字符数应该是2h-1,字符之间的空格数(事例中是“-”)是2h-1-1,所以总字符数是4h-3,也就是每一行的长度是4h-3。第i层的字符数量为2i-1,开始位置是2(h-i)。
public class IsoscelesTriangle {
/**
* 等腰三角形
*/
public void print1(){//形如 ▲向上的
for(int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++)
System.out.print(" ");
for(int j=1;j<=2*i-1;j++)
System.out.print("*");
System.out.print("\n");
}
}
public void print2(){//形如:倒▲ 向下的
for(int i=1;i<=5;i++){
for(int j=1;j<=i-1;j++)
System.out.print(" ");
for(int k=1;k<=11-(2*i);k++)
System.out.print("*");
System.out.print("\n");
}
}
public static void main(String[] args) {
IsoscelesTriangle app = new IsoscelesTriangle();
System.out.println("---------------------------");
app.print1();
System.out.println("---------------------------");
app.print2();
System.out.println("---------------------------");
}
}
第3种方法:
public class Trigon
{
public static void main(String[] arges){
for(int i=1;i<=9;i++){
for(int j=1;j<=9-i ;j++ ){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print(i);
}
System.out.println();
}
System.out.println("----------------------------------");
for(int i=9;i>=1;i--){
for(int j=1;j<=9-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print(i);
}
System.out.println();
}
}
}
要用三循环才可以, 这个就是三角形的代码.
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 7; i++) {
for (int j = 1; j <= 7-i; j++) {//7-i的意思是第一次的时候7-I等于6那这个for这输入6个空格第二次的时候7-I等于5那for就输入5个空格//每循环一次这个I就要自动加一个数
System.out.print(" "); //这里面意思是输入空格 //注意这里的空格是的确要输入的不然可以在空格里输入一个数字看一看效果
}
for (int ji = 1; ji <=2*i-1; ji++) {//这个for循环的意思是输入*号
//和ji<=2*i-1的意思是;这里2*i-1的意思是在空格后面加入一个*号,第一次循环是
System.out.print("*");
}
System.out.println();//这里的意思在下一次循环的时候换行ln的意思就是换行。而没有ln的就不换行
}
}
}
第2种方法:
首先要有一个参数,即等腰三角形的高度h,然后根据h计算第i层打印的字符数量n以及开始位置s,接着把n和s作为参数传给执行打印的方法printchars(s,n);
例:
------*------
----*-*-*----
--*-*-*-*-*--
*-*-*-*-*-*-*
以最后一行的字符数为准,最后一行的字符数应该是2h-1,字符之间的空格数(事例中是“-”)是2h-1-1,所以总字符数是4h-3,也就是每一行的长度是4h-3。第i层的字符数量为2i-1,开始位置是2(h-i)。
public class IsoscelesTriangle {
/**
* 等腰三角形
*/
public void print1(){//形如 ▲向上的
for(int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++)
System.out.print(" ");
for(int j=1;j<=2*i-1;j++)
System.out.print("*");
System.out.print("\n");
}
}
public void print2(){//形如:倒▲ 向下的
for(int i=1;i<=5;i++){
for(int j=1;j<=i-1;j++)
System.out.print(" ");
for(int k=1;k<=11-(2*i);k++)
System.out.print("*");
System.out.print("\n");
}
}
public static void main(String[] args) {
IsoscelesTriangle app = new IsoscelesTriangle();
System.out.println("---------------------------");
app.print1();
System.out.println("---------------------------");
app.print2();
System.out.println("---------------------------");
}
}
第3种方法:
public class Trigon
{
public static void main(String[] arges){
for(int i=1;i<=9;i++){
for(int j=1;j<=9-i ;j++ ){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print(i);
}
System.out.println();
}
System.out.println("----------------------------------");
for(int i=9;i>=1;i--){
for(int j=1;j<=9-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print(i);
}
System.out.println();
}
}
}
展开全部
要用三循环才可以, 这个就是三角形的代码.
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 7; i++) {
for (int j = 1; j <= 7-i; j++) {//7-i的意思是第一次的时候7-I等于6那这个for这输入6个空格第二次的时候7-I等于5那for就输入5个空格//每循环一次这个I就要自动加一个数
System.out.print(" "); //这里面意思是输入空格 //注意这里的空格是的确要输入的不然可以在空格里输入一个数字看一看效果
}
for (int ji = 1; ji <=2*i-1; ji++) {//这个for循环的意思是输入*号
//和ji<=2*i-1的意思是;这里2*i-1的意思是在空格后面加入一个*号,第一次循环是
System.out.print("*");
}
System.out.println();//这里的意思在下一次循环的时候换行ln的意思就是换行。而没有ln的就不换行
}
}
}
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 7; i++) {
for (int j = 1; j <= 7-i; j++) {//7-i的意思是第一次的时候7-I等于6那这个for这输入6个空格第二次的时候7-I等于5那for就输入5个空格//每循环一次这个I就要自动加一个数
System.out.print(" "); //这里面意思是输入空格 //注意这里的空格是的确要输入的不然可以在空格里输入一个数字看一看效果
}
for (int ji = 1; ji <=2*i-1; ji++) {//这个for循环的意思是输入*号
//和ji<=2*i-1的意思是;这里2*i-1的意思是在空格后面加入一个*号,第一次循环是
System.out.print("*");
}
System.out.println();//这里的意思在下一次循环的时候换行ln的意思就是换行。而没有ln的就不换行
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package java4;
public class LX2 {
/**
* @param args
*/
@SuppressWarnings("unused")
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[][]={{1,3,5,7,9},{9,7,5,3,1}};
for (int j = 1; j <= 8; j ++) {
for (int i = 13; i > j + 2; i--) {
System.out.print(" ");
}
for (int k = 0; k < j; k++) {
System.out.print(" *");
}
System.out.println();
}
}
}
希望帮到你
public class LX2 {
/**
* @param args
*/
@SuppressWarnings("unused")
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[][]={{1,3,5,7,9},{9,7,5,3,1}};
for (int j = 1; j <= 8; j ++) {
for (int i = 13; i > j + 2; i--) {
System.out.print(" ");
}
for (int k = 0; k < j; k++) {
System.out.print(" *");
}
System.out.println();
}
}
}
希望帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询