1. 程式人生 > >java練習——用迴圈輸出等腰三角形

java練習——用迴圈輸出等腰三角形

問題分析:由圖,給定一個整數n,需要輸出一個高為n,底為2n-1的等腰三角形 。問題關鍵在於如何判斷一個n*(2n-1)的空間內每一個點是否輸出*,如何得出輸出*的條件(不滿足條件輸出空格),其實這是一個很簡單的線性規劃問題,這裡簡要地說一下過程。建立座標系後,高為high的等腰三角形的兩條斜邊的解析式為y=-x+high+1和y=x-high+1,.而圍成等腰三角形部分的區域即可表示為y>=-x+high+1, y>x-high+1,x>=1,x<=2*high-1,y>=0.y<=high這一組不等式組,(x從1開始取值的是為了使判斷條件中邏輯表示式的不等號的嚴格性與線性規劃所得不等式組的不等號嚴格性一致)

具體實現程式碼如下

import java.util.Scanner;

public class IsoscelesTriangle {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		System.out.print("請輸入等腰三角形的高:");
		int high=sc.nextInt();
		System.out.println("高為"+high+"的等腰三角形如下:");
		for(int y=1;y<=high;y++){
			for(int x=1;x<=2*high-1;x++){
				if((y>=-x+high+1)&&(y>=x-high+1))
					System.out.print(y==1?'^':'-');
				else System.out.print(' ');
			}
			System.out.println("");
		}
	}
}

執行結果:


其中第一行的^通過一個額外的條件判斷判斷是否為第一行即可。

相關推薦

java練習——迴圈輸出等腰三角形

問題分析:由圖,給定一個整數n,需要輸出一個高為n,底為2n-1的等腰三角形 。問題關鍵在於如何判斷一個n*(2n-1)的空間內每一個點是否輸出*,如何得出輸出*的條件(不滿足條件輸出空格),其實這是一個很簡單的線性規劃問題,這裡簡要地說一下過程。建立座標系後,高為hig

迴圈輸出等腰三角形

/* * 列印等腰三角形,列印的行數由使用者輸入,列印完後,由使用者選擇繼續列印還是退出程式。 * 課本54頁的第二題 * EquicruralTriangle.java * @author LGM * @version 2015.04.01 */ impor

JAVA迴圈輸出等腰三角形

  假如給定4行,據計算一行空格加星號為9,即n = 9,程式碼如下: public class JavaApplication { /** * @param args the c

java使用迴圈輸出等腰三角

目錄 package com.skz; public class HelloWorld { public static void main(String[] args) { //使用迴圈輸出等腰三角 int num = 4; for(in

java 輸出等腰三角形

朋友說寫一個等腰三角形,自己動手寫了一個,先看效果圖:     *        ***      *****    *******  *********

Java輸出等腰三角形

    *    ***   ***** ******* 使用【Java】輸出上方的等腰三角形 最開始怎麼也想不出如何設計,怎麼輸出,始終沒有頭緒 後來發現了一個非常容易陷入的誤區!!!! 忽略右側的

JAVA 的for迴圈輸出 菱形

  *    ***   *****  ******* *********  *******   *****   ***     * 1.方法很多,可以i=0開始的!現在是 從1開始 public class Zuoye { public static void m

一維數組輸出等腰三角形的楊輝三角

維數 reader exti read return count 輸出 imp import import java.util.Scanner; public class Promble19 { public static int[] printYangHui(int co

兩個一維數組輸出等腰三角形的楊輝三角

clas 三角形 一行 out () span 進入 port pack 代碼如下: package 楊輝三角; import java.util.Scanner; public class 楊輝三角0 { public static void ma

實驗四:采一維數組輸出等腰三角形的楊輝三角

生成 分配 div -i package ack static else 設置 一.認真審題,編寫程序。 package mwm; public class Yanghuisanjiao { public static void main(String[] ar

實驗四:采一維數組輸出等腰三角形的楊輝三角。

代碼 system 源代碼 public 運行 pack 技術分享 system.in oid 源代碼: package 楊輝三角; import java.util.Scanner; public class YHSJ { public static void

輸出等腰三角形

public class Triangle { /*  * 等腰三角形  *                *  *              * * *  *            * * * * *  * 思路:碰到這種奇形怪狀的不要怕,無非就是空格和*組成的,我們只要把

for編寫輸出等腰三角形,菱形

程式碼一:public class Star { public static void main(String[] args){ int j,i,m; for( i=1;i<=5;i

使用C程式列印輸出等腰三角形(或者是金字塔)

</pre><pre name="code" class="cpp">#include "stdio.h" void main() { int i=1,j; while(i<=8) { for(j=1;j<=8-i;j++)

Java使用簡單迴圈輸出一個小寫字母表

public class Example2_1 {    //輸出小寫字母表public static void main(String[] args) {char begin_letter='a';System.out.println("字母a在unicode表中的順序位置是:"+(int)begin_le

關於java一個for迴圈輸出九九乘法表

   九九乘法表我相信每個人應該都能寫出來的,但是按照我們自己的想法的話是用最基本的兩個for迴圈 for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"=

java】for迴圈輸出數字金字塔

輸出下列數字金字塔。     1   121  12321 1234321 1 public class deng { 2 public static void main(String args[]) 3 { 4 int n,i,k,j; 5

java後臺輸出流。怎麼在前臺js怎麼接收

後臺Java程式碼: @RequestMapping(value = "/friendLinks/friendLinksList.do") public void getfriendLinksList(HttpServletRequest request,

一個FOR迴圈等腰三角形

  public static void Main()        {            int num = 0;            Console.Write("請輸入一個奇數:");            num = Convert.ToInt32(Consol

java利用for迴圈輸出正三角新解

本人在重新學習Java的過程中,遇到一個作業,就是用迴圈輸出正三角,在完成作業之餘,查看了很多網上的答案,用了好幾次for迴圈,基本思路就是先拼接前面的空格,在去拼接後面的“*”符號。感覺有點捉急,自己想了一想新的辦法來更少的迴圈來得到答案。我利用一個if-else判斷