「java输出菱形怎么计算」java怎么打出菱形
今天给各位分享java输出菱形怎么计算的知识,其中也会对java怎么打出菱形进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎么用java打印菱形?
java打印菱形方法:
package circulationDemo;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入要打印的行数:");
int num = 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)
}
private static void t9(int num) {
for (int k = 1; k = num; k++) {
for (int i = 1; i = (num - k); i++) {
System.out.print(" ");
}
System.out.print("*");
for (int i = 1; i = ((k - 2) * 2 + 1); i++) {
System.out.print(" ");
}
if (k != 1) {
System.out.print("*");
}
System.out.println();
}
for (int k = num-1; k = 1; k--) {
for (int i = 1; i = (num - k); i++) {
System.out.print(" ");
}
System.out.print("*");
for (int i = 1; i = ((k - 2) * 2 + 1); i++) {
System.out.print(" ");
}
if (k != 1) {
System.out.print("*");
}
System.out.println();
}
}
private static void t8(int num) {
// 上半部分
for (int i = 1; i = num; i++) {
// 打印上半部分空格
for (int j = 1; j = num - i; j++) {
System.out.print(" ");
}
// 打印原本实心的*部分
for (int j = 1; j = 2 * i - 1; j++) {
// 仅在一行的开头和末尾打印*
if (j == 1 || j == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
// 下半部分
for (int i = 1; i = num - 1; i++) {
for (int j = 1; j = i; j++) {
System.out.print(" ");
}
for (int j = 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();
}
}
private static void t7(int num) {
// 打印上半部分
for (int i = 1; i = num; i++) {
// 打印空格
for (int j = 1; j = (num - i); j++) {
System.out.print(" ");
}
// 打印*的个数
if (i == 1) {
System.out.print("*");
} else {
System.out.print("*");
// 打印菱形里的空格
for (int j = 1; j = (2 * i - 3); j++) {
System.out.print(" ");
}
System.out.print("*");
}
System.out.println();
}
// 打印下半部分
for (int i = num - 1; i 0; i--) {
// 打印空格
for (int j = 1; j = (num - i); j++) {
System.out.print(" ");
}
// 打印*的个数
if (i == 1) {
System.out.print("*");
} else {
System.out.print("*");
// 打印菱形里的空格
for (int j = 1; j = (2 * i - 3); j++) {
System.out.print(" ");
}
System.out.print("*");
}
System.out.println();
}
}
private static void t6(int num) {
// 上半部分
for (int i = 1; i = num; i++) {
for (int j = 1; j = num - i; j++) {
System.out.print(" ");
}
for (int j = 1; j = 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
// 下半部分
for (int i = 1; i = num - 1; i++) {
for (int j = 1; j = i; j++) {
System.out.print(" ");
}
for (int j = 1; j = 2 * (num - 1 - i) + 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
private static void t5(int num) {
for (int i = num; i 0; i--) {
for (int j = 1; j = num - i; j++) {
System.out.print(" ");
}
for (int j = 1; j = 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
private static void t4(int num) {
for (int i = 1; i = num; i++) {
for (int j = 1; j = i - 1; j++) {
System.out.print(" ");
}
for (int j = 1; j = 2 * (num - i) + 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
private static void t3(int num) {
for (int i = 1; i = num; i++) {
for (int j = 1; j = num - i; j++) {
System.out.print(" ");
}
for (int j = 1; j = 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
private static void split() {
System.out.println("---------------");
}
private static void t2(int num) {
for (int i = 1; i = num; i++) {
for (int j = 1; j = num - i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
private static void t1(int num) {
for (int i = 1; i = num; i++) {
for (int j = 1; j = i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
java空心菱形算法
这样的代码光是看是很难看明白的,自己举个例子简单地在纸上写一写画一画,就比较容易明白了。
假定size=5,可以想像一下菱形的形状,size/2+1=3,按以上代码的逻辑来看,就是先处理上面的3行,然后处理下面剩下的2行。
处理上面3行的时候,每一行需要根据行数分别输出*和空格。先看第1行,i==0.
for (int i = 0; i size / 2 + 1; i++) {
for (int j = size / 2 + 1; j i + 1; j--) {
System.out.print(" ");// 输出左上角位置空白
}
这段代码此时的i==1,内层循环走完以后,会输出2次空格(j==3,j==2时),
然后依次往下走。
不得不说,上面的代码写的太复杂了,这么多for循环,看着好费劲的说~~
用java打印菱形。
一、整体实现思路:菱形9行9列可以将菱形分成上下两个三角形,分析每行空格数和星号个数的关系。
二、一个三角形的实现思路:以输出一个空心三角形为例:
(1)空格的输出按-1递减,字符的输出按等差数列,公差为2
(2)判断第一行和最后一行照常输出。
(3)中间行仅输出两个字符。
三、菱形分实心和空心两种,其代码及解析分别如下:
(一)实心菱形。
1、函数代码:
2、执行效果:
(二)空心菱形:
1、函数代码如下:
2、执行效果:
扩展资料:
java打印的输出方式解析:
1、print():print就是一般的标准输出,但是不换行。
2、println():println和print基本没什么差别,就是最后会换行。
要分辨清楚System.out.print()和System.out.println()的区别。System.out.print()是单纯的输出,而System.out.println()的功能是输出内容后换行,到达下一行,在使用时要注意区分两者之间的不同。
java输出菱形的解析
public static void main(String[] args) {
// 需要打一个多少行的菱形
int size = 5;
// 算出菱形的中间值
// (貌似size是偶数的话,打印出来的不是菱形,这个你们老师有没有提到?)
int centerNum = (size / 2) + 1;
// 两个控制打印#还是空格的变量,没什么解释的
int startNum = centerNum;
int endNum = centerNum;
// #号增多的方向,一个标记
boolean more = true;
// 这个for用来控制行
for (int a = 1; a = size; a++) {
// 这个for用来控制行中需要打印什么
for (int i = 1; i = size; i++) {
// 满足条件,就打印#,否则就打印空格
if (i = startNum i = endNum) {
System.out.print("# ");/* #号后面有个空格,为了排版 */
} else {
System.out.print(" ");/* 两个空格,为了排版 */
}
}
// 换行
System.out.println();
// 改变 变量的值,控制打印
if (more) {
startNum -= 1;
endNum += 1;
} else {
startNum += 1;
endNum -= 1;
}
// 打印到中间那行之后,改变标记more的值
if (startNum == 1) {
more = false;
}
}
System.out.print("还有弄不懂的,你再追问");
}
}
用java for循环输出打印菱形 详细的步骤注释 求指教
*
***
*****
*******
*********
*******
*****
***
*
方法很多,可以i=0开始的!我现在是 从1开始
public class Zuoye {
public static void main(String[] args) {
//首先把菱形看成上下,上五下四,所以第一个for有5次,第二个for4次
for(int i=1;i=5;i++)
{
//将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律
for(int j=1;j=5-i;j++)
System.out.print(" ");
for(int k=1;k=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛
System.out.print('*');
//换一行
System.out.println();
}
for(int i=1;i=4;i++)
{
for(int j=1;j=i;j++)//空格 1 2 3 4 so
System.out.print(" ");
for(int k=7;k=2*i-1;k--)//* 7 5 3 1倒着来的基数
System.out.print('*');
System.out.println();
}
}
}
希望你可以举一反三,能打印活的菱形
关于java输出菱形怎么计算和java怎么打出菱形的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。