java编写杨辉三角~~~
发布网友
发布时间:2022-04-15 01:44
我来回答
共4个回答
热心网友
时间:2022-04-15 03:13
杨辉三角形性质:
每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1。
第 n 行的数字个数为 n 个。
第 n 行数字和为 2^(n-1) 。
每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角形。
第 n 行的第 1 个数为 1,第二个数为 1× (n-1) ,第三个数为 1× (n-1) × ( n-2) /2,第四个数为 1× (n-1) × (n-2) /2× (n-3) /3…依此类推。
使用一个二维数组 yh[][] 存储杨辉三角形的数据,行和列的大小为所需要输出的行数 Row(本程 序中 Row 为 10)。
使用 for 循环使杨辉三角中除了最外层(不包括杨辉三角底边)的数为 1 ;
使用语句 yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j] 使第 i 行第 j 列的数据等于第(i-1) 行
第(j-1)列的数据与第(i-1)行第(j)列的数据之和,即每个数字等于上一行的左右两个数字之和。
代码的实现
package com.practice;
public class YangHuiSanJiao
{
public static void main(String[] args) {
int [][]a = new int [10][10];
for(int n = 0; n < 10;n++)
{
a[n][0] = 1;
a[n][n] = 1;
}
for(int n = 2; n <10; n++)
{
for(int j = 1; j < n; j++)
{
a[n][j] = a[n -1][j -1] + a[n - 1][j];
}
}
for(int n = 0; n < 10; n++)
{
for(int k = 0; k < 2 * (10 - n) - 1; k++)
{
System.out.print(" ");
}
for(int j = 0; j <= n; j++)
{
System. out.print(a[n][j] + " ");
}
System.out.println();
}
}
}
热心网友
时间:2022-04-15 04:31
初学java,在网上找的杨辉三角形代码并不一地正确和适用,那些代码一般用于集成开发环境,并不适用于初学者。
工具/原料:editplus,jdk,java。
方法/步骤:
打开editplus,点击文件--新建文件--java。不想下这个软件的可以新建一个记事本。
然后把代码复制进去,不过要注意class后面的命名要和文件名字一致
原创代码(非网上照搬复制,个人原创,真实有效):
import java.util.Scanner;
class demo1
{
public static void main(String[] args)
{
System.out.println("请输入杨辉三角的行数");
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int arr[][]=new int[a][a+2];
for (int i=1;i<=a ; i++)
{
arr[i-1][0]=0;
arr[i-1][i+1]=0;
}
if (a==1)
{
System.out.println(" 1 ");
}
if (a==2)
{
System.out.println(" 1 ");
System.out.println(" 1 2 1");
}
else
{
arr[0][1]=1;
for (int j=2;j<=a ;j++ )
{
for (int k=1;k<=j ;k++ )
{
arr[j-1][k]=arr[j-2][k-1]+arr[j-2][k];
}
}
for (int i=1;i<=a ;i++ )
{
for (int space=0;space<=a-i ;space++ )
{
System.out.print(" ");
}
for (int j=1;j<=i ;j++ )
{
System.out.print(arr[i-1][j]+" ");
}
System.out.println();
}
}
}
}
以editplus为例,把代码复制进去后,点击文件--保存--D盘,文件名为demo1.java。 如果用记事本保存为--所有类型文件--demo1.java。
打开开始菜单,输入cmd
输入d:
进入d盘
输入javac demo1.java 编译,如果没有弹出什么则说明编译成功。
输入java demo1
然后就OK了
热心网友
时间:2022-04-15 06:06
public class Test {
public static void main(String args[]) {
int a = 10;
int b[][];
b = new int[a][];
for (int i = 1; i <= 10; i++) {
b[i - 1] = new int[i];
}
for (int j = 0; j < 10; j++) {
for (int k = 0; k <= j; k++) {
if (j == 0 || k == 0 || k == j)// 分支
{
b[j][k] = 1;// 等于1的
continue;
} else {
b[j][k] = b[j - 1][k - 1] + b[j - 1][k];// 计算值
}
}
}
for (int m = 0; m < 10; m++) {
for (int n = 0; n <= m; n++) {
System.out.print(b[m][n] + " ");// 循环输出
}
System.out.println(" ");
}
}
}
热心网友
时间:2022-04-15 07:57
好巧我也写这个作业
public class Demo12 {
public static void main(String[] args){
printYH();
}
private static void printYH() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数代表几行");
int n = sc.nextInt();
//创建二维数组
int[][] arr = new int[n][n];
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i+1];
}
//赋值
for (int i = 0; i < arr.length; i++) {
arr[i][0] = 1;
arr[i][i] = 1;
for (int j = 1; j < i; j++) {
arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
}
}
//打印
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
java编写杨辉三角~~~
杨辉三角形性质:每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1。第 n 行的数字个数为 n 个。第 n 行数字和为 2^(n-1) 。每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角形。第 n 行的第 1 个数为 1,第二个数为 1× (n-1) ,第三个数为 1× (...
Java编写一个程序,在屏幕上打印出如下图形?
打印杨辉三角图形的Java程序如下 public class H{ public static void main(String[] args) { int i,j,N=7;int[][] a=new int[N][N];for(i=0;i<N;i++){ a[i][0]=1;a[i][i]=1;} for(i=2;i<N;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]...
java 杨辉三角
打印杨辉三角代码如下:public class woo { public static void triangle(int n) { int[][] array = new int[n][n];//三角形数组 for(int i=0;i<array.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...
用java编程杨辉三角的代码?
1.杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和,下面是java使用for循环输出包括10行在内的杨辉三角形\x0d\x0a\x0d\x0a2.思路是创建一个整型二维数组,包含10个一维数组。使用双层循环,在外层循环中初始化每一...
杨辉三角java源代码
//打印等腰杨辉三角形public class YHTriangle{public static void main(String[] args) {//定义二维数组的长度int length = 10;//声明二维数组int[][] arr = new int[length][];//遍历二维数组for(int i = 0; i < arr.length; i++){//打印空格for(int m = 0; m < arr.length ...
杨辉三角用java怎么编写代码???
杨辉三角,标准的for实现../ class yanghuisanjiao { public static void main(String args[]){ final int MAX=10;int mat[][]=new int[MAX][];int i=0,j,n;n=MAX;for(i=0;i<n;i++){ mat[i]=new int[i+1];mat[i][0]=1;mat[i][i]=1;for(j=1;j<i;j++)mat[i][j...
java:杨辉三角,输入n输出它的前n行
以下是 Java 代码,用于生成杨辉三角并输出前 n 行:```java import java.util.Scanner;public class YangHuiTriangle { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.print("Enter the number of rows: ");int numRows = scanner.nextInt()...
java程序如何设计一个界面并运行出杨辉三角问题?在线等!急。
我这个输出的杨辉三角前15行,原理很简单,使用JLable控件,因为这个控件允许使用HTML代码,所以我直接转成HTML代码输出 import java.awt.*;import javax.swing.*;public class test{ public static void main(String[] args) { Frame fr=new Frame("输出杨辉三角");fr.setLayout(null);fr.setSize(...
java初级编程 关于杨辉三角
最后每行后面输个换行,程序就完成了。有输出界面截图, draw方法的截图,以及整个类文件内容跟.java文件附件。public class TestYangHui { public static void main(String[] args) { draw(10); //调用画三角方法,可以随意传入正整数,传几画几行 } private static void draw(int n...
用JAVA打印输出10行杨辉三角形
public static void main(String args[]) { final int ROW = 10;int a[][] = new int[ROW + 1][];for (int i = 0; i <= ROW; i++) { a[i] = new int[i + 1]; // 指定每行的列数 } yanghui(a, ROW);} static void yanghui(int a[][], int ROW) { for (int...