java输出三角形
‘壹’ java语言编写杨辉三角,打印不出三角形
这个问题是因为题主使用了 println() 来打印每一个数字。println() 函数的名称来源于 Print Line 的简称,从名字上就可以看出,此函数会打印出一个整行。因此 println() 函数会在要打印的字符串后自动添加一个 ' ' 符号来构成一个新行。所以如果用 println() 来打印单个数字的话,每个数字在被打印出来后就会换行,这样就导致了一行只有一个数字,所有数字打印出来后排成了一个竖条。
解决方法就是用 print() 方法来替代 println() 。print() 方法仅打出你括号里给的字符串,不会额外添加任何东西,所以这个方法可以用来在一行里打出多个给定的字符串。 更改后的代码如下:
publicclassYangHui{
publicstaticvoidmain(Stringargs[]){
//先定义以一个二维数组。列比行多1,EG:第0行有一个元素。
int[][]yanghui=newint[10][];
for(inti=0;i<yanghui.length;i++){
yanghui[i]=newint[i+1];
}
//将二维数组赋值。
for(inti=0;i<yanghui.length;i++){
for(intj=0;j<yanghui[i].length;j++){
yanghui[i][0]=yanghui[i][i]=1;
if((i>1)&&(j>0)&&(j<i)){
yanghui[i][j]=yanghui[i-1][j]+
yanghui[i-1][j-1];
}
}
}
//二维数组遍历,打印每个数字。
for(inti=0;i<yanghui.length;i++){
for(intj=0;j<yanghui[i].length;j++){
//用print()方法打印数字
System.out.print(yanghui[i][j]);
//打印完数字后打印一个tab来将数字隔开
System.out.print(' ');
}
//打印完一行数字后,打印一个新行并开始输出下一行数字。
System.out.println();
}
}
}
这个程序的结果如下:
是一个完整的杨辉三角形。
‘贰’ 用JAVA编写一个类利用对象输出三角形的面积和周长
public class Triangle {
int x,y,z; //这是三角形三条边的长度
private void triangle(int x,int y,int z) {
this.x=x;
this.y=y;
this.z=z;
}
private int perimeter(){
return this.x+this.y+this.z;
}
private double area(){
int p = this.perimeter() / 2;
return Math.sqrt(p*(p-this.x)*(p-this.y)*(p-this.z));
}
public static void main(String[] args) throws Exception {
Triangle t = new Triangle(3,4,5);
System.out.println("该三角形的周长为:" + t.perimeter());
System.out.println("该三角形的面积为:" + t.area());
}
}
上面代码保存为Triangle.java即可测试运行~~手写代码,不保证完全正确,但思路绝对是正确的
‘叁’ java打印直角三角形
打印“*”的语句错了,
不能用println()方法,这个方法会换行。
用System.out.print("*"); 这个不会换行,就会打出三角形
‘肆’ java输出直角三角形
publicclassa{
publicstaticvoidmain(String[]args){
intcount=0;
for(intx=9;x>=1;x--){
count=x;
while(count<9){
System.out.print("");
count++;
}
for(inty=1;y<=x;y++){
System.out.print("*");
}
System.out.println();
}
}
}