‘壹’ 怎么用java打印菱形
java打印菱形方法:
packagecirculationDemo;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.println("请输入要打印的行数:");
intnum=input.nextInt();
t1(num);//正直角
split();
t2(num);//倒直角
split();
t3(num);//等腰三角
split();
t4(num);//等腰倒三角++
split();
t5(num);//等腰倒三角--
split();
t6(num);//实心菱形
split();
t7(num);//空心菱形(1)
split();
t8(num);//空心菱形(2)
split();
t9(num);//空心菱形(3)
}
privatestaticvoidt9(intnum){
for(intk=1;k<=num;k++){
for(inti=1;i<=(num-k);i++){
System.out.print("");
}
System.out.print("*");
for(inti=1;i<=((k-2)*2+1);i++){
System.out.print("");
}
if(k!=1){
System.out.print("*");
}
System.out.println();
}
for(intk=num-1;k>=1;k--){
for(inti=1;i<=(num-k);i++){
System.out.print("");
}
System.out.print("*");
for(inti=1;i<=((k-2)*2+1);i++){
System.out.print("");
}
if(k!=1){
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidt8(intnum){
//上半部分
for(inti=1;i<=num;i++){
//打印上半部分空格
for(intj=1;j<=num-i;j++){
System.out.print("");
}
//打印原本实心的*部分
for(intj=1;j<=2*i-1;j++){
//仅在一行的开头和末尾打印*
if(j==1||j==2*i-1){
System.out.print("*");
}else{
System.out.print("");
}
}
System.out.println();
}
//下半部分
for(inti=1;i<=num-1;i++){
for(intj=1;j<=i;j++){
System.out.print("");
}
for(intj=1;j<=2*(num-i-1)+1;j++){
if(j==1||j==2*(num-i-1)+1){
System.out.print("*");
}else{
System.out.print("");
}
}
System.out.println();
}
}
privatestaticvoidt7(intnum){
//打印上半部分
for(inti=1;i<=num;i++){
//打印空格
for(intj=1;j<=(num-i);j++){
System.out.print("");
}
//打印*的个数
if(i==1){
System.out.print("*");
}else{
System.out.print("*");
//打印菱形里的空格
for(intj=1;j<=(2*i-3);j++){
System.out.print("");
}
System.out.print("*");
}
System.out.println();
}
//打印下半部分
for(inti=num-1;i>0;i--){
//打印空格
for(intj=1;j<=(num-i);j++){
System.out.print("");
}
//打印*的个数
if(i==1){
System.out.print("*");
}else{
System.out.print("*");
//打印菱形里的空格
for(intj=1;j<=(2*i-3);j++){
System.out.print("");
}
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidt6(intnum){
//上半部分
for(inti=1;i<=num;i++){
for(intj=1;j<=num-i;j++){
System.out.print("");
}
for(intj=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
//下半部分
for(inti=1;i<=num-1;i++){
for(intj=1;j<=i;j++){
System.out.print("");
}
for(intj=1;j<=2*(num-1-i)+1;j++){
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidt5(intnum){
for(inti=num;i>0;i--){
for(intj=1;j<=num-i;j++){
System.out.print("");
}
for(intj=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidt4(intnum){
for(inti=1;i<=num;i++){
for(intj=1;j<=i-1;j++){
System.out.print("");
}
for(intj=1;j<=2*(num-i)+1;j++){
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidt3(intnum){
for(inti=1;i<=num;i++){
for(intj=1;j<=num-i;j++){
System.out.print("");
}
for(intj=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidsplit(){
System.out.println("---------------");
}
privatestaticvoidt2(intnum){
for(inti=1;i<=num;i++){
for(intj=1;j<=num-i+1;j++){
System.out.print("*");
}
System.out.println();
}
}
privatestaticvoidt1(intnum){
for(inti=1;i<=num;i++){
for(intj=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
‘贰’ 如何用java编写用 "*"输出菱形
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
‘叁’ 用java打印菱形。
一、整体实现思路:菱形9行9列可以将菱形分成上下两个三角形,分析每行空格数和星号个数的关系。
二、一个三角形的实现思路:以输出一个空心三角形为例:
(1)空格的输出按-1递减,字符的输出按等差数列,公差为2
(2)判断第一行和最后一行照常输出。
(3)中间行仅输出两个字符。
三、菱形分实心和空心两种,其代码及解析分别如下:
(一)实心菱形。
1、函数代码:
(3)java输出菱形扩展阅读:
java打印的输出方式解析:
1、print():print就是一般的标准输出,但是不换行。
2、println():println和print基本没什么差别,就是最后会换行。
要分辨清楚System.out.print()和System.out.println()的区别。System.out.print()是单纯的输出,而System.out.println()的功能是输出内容后换行,到达下一行,在使用时要注意区分两者之间的不同。
‘肆’ java打印一个菱形
该菱形一共有12行,上三角7行,所以第一个for循环for(int i=1;i<=7;i+=2)是控制打印上三角的,第一个for循环里面又有两个,前面一个是打印每行前面的空格,后面一个是打印每行中的*,所以第四个for循环就是打印那个下三角的,道理与第一个for循环类似,仔细看看不难理解,祝你学习进步!
‘伍’ Java中用for循环如何输出菱形
今天刚好复习写了一个。
publicclassT3{
publicstaticvoidmain(Stringargs[]){
//输出行数
for(inti=0;i<5;i++){
//输出空格
for(intj=0;j<4-i;j++){
System.out.print("");
}
//输出*
for(intk=0;k<(i+1)*2-1;k++){
//这里的if-else是为了让中间的*不输出,
//你可以直接把这里的if-else改为System.out.println("*");就是你想要的了
if(k==0||k==(i+1)*2-2){
System.out.print("*");
}else{
System.out.print("");
}
}
System.out.println();
}
//这里写法和上面一样思路
for(inti=0;i<4;i++){
for(intj=0;j<i+1;j++){
System.out.print("");
}
for(intk=0;k<(4-i)*2-1;k++){
if(k==0||k==(4-i)*2-2){
System.out.print("*");
}else{
System.out.print("");
}
}
System.out.println();
}
}
}
‘陆’ 用java输出菱形
最外围的for负责打印的行数,N多少就打印到多少行
里面的第一个for负责打印空格,为了从中间开始打印需要空出最后一行减去一个自己要打的*的一个位置,所以就是总行数减去1(int k=n-1)的例子。
最后一个for是负责打印*的,在上面的for空出来的地方开始打印*,而要做成菱形需要递增的形式增加*,而增加两颗*看起来是最顺眼的。这样的话每行打印的数就出来了:1,3,5,7,9……
这样要写一个不容易,但是每个数加上1的话就能看出都是2X的数了,j<=2*i-1就是这么出来的。
还有问题追问吧