十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
class NoParamException extends Exception{
豐順網站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯(lián)。
public NoParamException(String message)
{super(message);}
}
class InputDecimalException extends Exception{}
public class HOMEWORK
{
public static float getHeight(String args[])throws NoParamException,InputDecimalException
{
float m;
if(args.length==0)
throw new NoParamException("NoParamException occures!");
m=Float.parseFloat(args[0]);
if((int)m!=m)throw new InputDecimalException();
return m;
}
public static void main(String args[])
{
float H=0;
try{
H=getHeight(args);
}
catch(NoParamException e){
System.out.println("NoParamException occures,please input again!");
}
catch(InputDecimalException e){
System.out.println("InputDecimalException occures,please input again!");
}
catch(Exception e){
System.out.println("NoParamException occures,please input again!");
}
for(int i=1;i=H;i++)
? ? {
? ? ? ? for(int j=0;jH-i;j++)
? ? ? ? System.out.print(" ");
? ? ? for(int k=0;k2*i-1;k++)
? ? ? ? ? System.out.print("*");
? ? ? System.out.print("\n");
? ? }
}
}
可以進行兩種異常控制,一種是無參數(shù)異常,一種是輸入小數(shù)的異常
這是運行過程,記得程序中的publi class名字改過來,與文件名一樣
1.楊輝三角形由數(shù)字排列,可以把它看做一個數(shù)字表,其基本特性是兩側數(shù)值均為1,其他位置的數(shù)值是其正上方的數(shù)字與左上角數(shù)值之和,下面是java使用for循環(huán)輸出包括10行在內的楊輝三角形
2.思路是創(chuàng)建一個整型二維數(shù)組,包含10個一維數(shù)組。使用雙層循環(huán),在外層循環(huán)中初始化每一個第二層數(shù)組的大小。在內層循環(huán)中,先將兩側的數(shù)組元素賦值為1,其他數(shù)值通過公式計算,然后輸出數(shù)組元素。
代碼如下:
public class YanghuiTriangle {
public static void main(String[] args) {
int triangle[][]=new int[10][];// 創(chuàng)建二維數(shù)組
// 遍歷二維數(shù)組的第一層
for (int i = 0; i triangle.length; i++) {
triangle[i]=new int[i+1];// 初始化第二層數(shù)組的大小
// 遍歷第二層數(shù)組
for(int j=0;j=i;j++){
// 將兩側的數(shù)組元素賦值為1
if(i==0||j==0||j==i){
triangle[i][j]=1;
}else{// 其他數(shù)值通過公式計算
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t"); // 輸出數(shù)組元素
}
System.out.println(); //換行
}
}
}
打印楊輝三角代碼如下:
public class woo {
public static void triangle(int n) {
int[][] array = new int[n][n];//三角形數(shù)組
for(int i=0;iarray.length;i++){
for(int j=0;j=i;j++){
if(j==0||j==i){
array[i][j]=1;
}else{
array[i][j] = array[i-1][j-1]+array[i-1][j];
}
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
public static void main(String args[]) {
triangle(9);
}
}
擴展資料:
楊輝三角起源于中國,在歐洲這個表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年發(fā)現(xiàn)這一規(guī)律的,比楊輝要遲393年。它把二項式系數(shù)圖形化,把組合數(shù)內在的一些代數(shù)性質直觀地從圖形中體現(xiàn)出來,是一種離散型的數(shù)與形的優(yōu)美結合。
楊輝三角具有以下性質:
1、最外層的數(shù)字始終是1;
2、第二層是自然數(shù)列;
3、第三層是三角數(shù)列;
4、角數(shù)列相鄰數(shù)字相加可得方數(shù)數(shù)列。
//java編程:輸入三角形的三邊,并輸出,同時判斷這三邊能否構成三角形,?
public?class?Triangle2?
{?
???private?double?sideA,sideB,sideC;//外部不能改變這些變量的值,只能在類中使用方法來修改和獲得這些變量的值??
public?void?setSide(double?sideA,double?sideB,double?sideC)
{???
this.sideA=sideA;//成員變量被局部變量隱藏,需要使用this關鍵字使用被隱藏的成員變量??
this.sideB=sideB;???
this.sideC=sideC;?
???}????
???public?double?getSideA()??
???{???
??return?sideA;?
???}???
???public?double?getSideB()??
???{???
??return?sideB;??
???}????
???public?double?getSideC()??
???{???
??return?sideC;??
???}???
???public?boolean?isOrNotTrangle()//判斷三邊能否構成三角形??
{???
if(sideA+sideBsideCsideA+sideCsideBsideB+sideCsideA)???
???{????
??return?true;?
???}???
???else???
???{????
?return?false;??
???}
}??
}?
class?Example1
?{?
public?static?void?main(String?args[])
{?
?double?sideA,sideB,sideC;?
?Triangle2?triangle=new?Triangle2();???
?triangle.setSide(7.2,8.3,9.6);??
?sideA=triangle.getSideA();??
?sideB=triangle.getSideB();?
?sideC=triangle.getSideC();??
?System.out.println("輸入的三角形的三邊為:"+sideA+"?"+sideB+"?"+sideC);
boolean?isOrNotTrangle=triangle.isOrNotTrangle();
if(isOrNotTrangle==true)??
{???
??System.out.println("這三邊可以構成三角形");???
???}???
?else?
???{??
??System.out.println("這三邊不可以構成三角形");
}?
}
}
就是楊輝三角的實現(xiàn):
import?java.util.*;//導包
class?Demo//主類
{
public?static?void?main(String[]?args)//創(chuàng)建一個對象用來調用,實現(xiàn)控制臺輸入輸出,因為輸入的是字符,所以a.show調用對象的時候強調轉換一下。
{
YangHui?a?=?new?YangHui();
Scanner?s?=?new?Scanner(System.in);??
System.out.println("請輸入一個數(shù)字代表行數(shù):");???
String?str?=?s.nextLine();???
a.show(Integer.valueOf(str));
}
}
class?YangHui//對象調用類名
{
public?void?show(int?n)
{
int[][]?s?=?new?int[n+1][n+1];//定義二維數(shù)組,因為是n行,所以定義n+1,防止溢出(循環(huán)從1開始)
for?(int?x=1;x=n?;x++?)//此大循環(huán)用于控制行數(shù)
{
for?(int?z=1;z=n+1-x?;z++?)//此小循環(huán)用于控制每行前面的空格數(shù),越往后越不對齊,自己調整一下
{
System.out.print("?");
}
for?(int?y=1;y=x?;y++?)//此循環(huán)用于控制每行個數(shù)
{
if?(y==1)//固定每行第一個數(shù)的值,并賦予二維數(shù)組,并打印
{
System.out.print(y+"?");
s[x][y]=1;
}
else?if(y==x)//固定每行最后一個數(shù)的值,并賦予二維數(shù)組,并打印
{
System.out.print(1+"?");
s[x][y]=1;
}
else//用于打印出除開每行第一個與最后一個的中間數(shù)值,并賦予二維數(shù)組
{
System.out.print(s[x-1][y-1]+s[x-1][y]+"?");//每一行的中間數(shù)值,都是由上一行的s[x-1][y-1]+s[x-1][y]相加而得到,并賦予二維數(shù)組
s[x][y]=s[x-1][y-1]+s[x-1][y];
}
}
System.out.println();//換行
}
}
}
public class DaoSanJiao { // 定義一個倒三角的類,有主方法和 輸出倒等腰三角形方法
public static void main(String[] args) { // 定義主方法,程序從這里開始
printDengyao(10); // 調用輸出倒三角形的方法,*數(shù)為10, 即高度(層)也為10
// 10可以換成任何整型值
}
public static void printDengyao(int x) { // 定義一個輸出倒三角的方法
for (int i = 0; i x; i++) { // 要輸出的整體(全部多少行)用這個for循環(huán)控制
System.out.println(); // 輸出一行*后跳到下一行
for (int j = 0; j i + 1; j++) { // 這個循環(huán)用來輸出空格,以達到輸出倒等腰三角形的效果
System.out.print(" ");
}
for (int j = i; j x; j++) { // 這個循環(huán)用來輸出*,他的數(shù)目有傳入的參數(shù)x決定
System.out.print("* "); // 如:i=0時即第一行,輸出x個“*”
}
}
}
}