class NoParamException extends Exception{
丰顺网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
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");
}
}
}
可以进行两种异常控制,一种是无参数异常,一种是输入小数的异常
这是运行过程,记得程序中的publi class名字改过来,与文件名一样
1.杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和,下面是java使用for循环输出包括10行在内的杨辉三角形
2.思路是创建一个整型二维数组,包含10个一维数组。使用双层循环,在外层循环中初始化每一个第二层数组的大小。在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素。
代码如下:
public class YanghuiTriangle {
public static void main(String[] args) {
int triangle[][]=new int[10][];// 创建二维数组
// 遍历二维数组的第一层
for (int i = 0; i triangle.length; i++) {
triangle[i]=new int[i+1];// 初始化第二层数组的大小
// 遍历第二层数组
for(int j=0;j=i;j++){
// 将两侧的数组元素赋值为1
if(i==0||j==0||j==i){
triangle[i][j]=1;
}else{// 其他数值通过公式计算
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t"); // 输出数组元素
}
System.out.println(); //换行
}
}
}
打印杨辉三角代码如下:
public class woo {
public static void triangle(int n) {
int[][] array = new int[n][n];//三角形数组
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年发现这一规律的,比杨辉要迟393年。它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的优美结合。
杨辉三角具有以下性质:
1、最外层的数字始终是1;
2、第二层是自然数列;
3、第三层是三角数列;
4、角数列相邻数字相加可得方数数列。
//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("这三边不可以构成三角形");
}
}
}
就是杨辉三角的实现:
import java.util.*;//导包
class Demo//主类
{
public static void main(String[] args)//创建一个对象用来调用,实现控制台输入输出,因为输入的是字符,所以a.show调用对象的时候强调转换一下。
{
YangHui a = new YangHui();
Scanner s = new Scanner(System.in);
System.out.println("请输入一个数字代表行数:");
String str = s.nextLine();
a.show(Integer.valueOf(str));
}
}
class YangHui//对象调用类名
{
public void show(int n)
{
int[][] s = new int[n+1][n+1];//定义二维数组,因为是n行,所以定义n+1,防止溢出(循环从1开始)
for (int x=1;x=n ;x++ )//此大循环用于控制行数
{
for (int z=1;z=n+1-x ;z++ )//此小循环用于控制每行前面的空格数,越往后越不对齐,自己调整一下
{
System.out.print(" ");
}
for (int y=1;y=x ;y++ )//此循环用于控制每行个数
{
if (y==1)//固定每行第一个数的值,并赋予二维数组,并打印
{
System.out.print(y+" ");
s[x][y]=1;
}
else if(y==x)//固定每行最后一个数的值,并赋予二维数组,并打印
{
System.out.print(1+" ");
s[x][y]=1;
}
else//用于打印出除开每行第一个与最后一个的中间数值,并赋予二维数组
{
System.out.print(s[x-1][y-1]+s[x-1][y]+" ");//每一行的中间数值,都是由上一行的s[x-1][y-1]+s[x-1][y]相加而得到,并赋予二维数组
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); // 调用输出倒三角形的方法,*数为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个“*”
}
}
}
}