这个题目主要又两个难点:1.$符号不是一直增加,而是先增加,后减少。2需要在$前补空格。
渌口网站建设公司创新互联公司,渌口网站设计制作,有大型网站制作公司丰富经验。已为渌口近千家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的渌口做网站的公司定做!
代码如下:
public class PrintDollar {
public static void main(String[] args) {
// 总行数,可以修改
int row = 5;
// 每一行的$符号数量
int dollarNumber;
// 追加的空格数量
int spaceNumber;
String dollar = "$";
for (int i = 1; i = row; i++) {
// 每一行输出的字符
String printString = "";
/*
* 判断行数是否超过了一半,超过一半$符号开始减少
*/
if (i * 2 - 1 row) {
// 行数超过一半的情况
dollarNumber = (row - i) * 2 + 1;
spaceNumber = (row - dollarNumber) / 2;
} else {
// 行数没超过一半的情况
dollarNumber = i * 2 - 1;
spaceNumber = (row - dollarNumber) / 2;
}
//追加空格
for (int j = 0; j spaceNumber; j++) {
printString += " ";
}
//追加$符号
for (int j = 0; j dollarNumber; j++) {
printString += dollar;
}
System.out.println(printString);
}
}
}
其实只要算出第i行第j列的数是第几个数就行了(数的排列规律应该能看出来吧)
第i行第j列的数在第(i+j)条对角线上(从零开始),前面就有i+j条对角线
数的个数就是1+2+...+(i+j),在加上同一条对角线上前面的数的个数为j
所以公式就出来了 代码如下,请采纳
class Main
{
public static void main(String[] args)
{
for(int i=0;i5;i++)
{
for(int j=0;j5-i;j++)
{
int n = (1+i+j)*(i+j)/2+j+1;
System.out.print(n+" ");
}
System.out.println();
}
}
}
import java.util.Scanner;
/**
* @Author: Cool_Wu
* @Date: 2020-12-01 17:59
*/
public class Test {
public static void main(String[] args) {
System.out.println("请输入一个整数:");
int num = new Scanner(System.in).nextInt();
for (int i = 1; i = num; i++) {
for (int j = i; j = num; j++){
if (i%2==1){
System.out.print("#");
}else {
System.out.print("-");
}
}
System.out.println();
}
}
}
运行结果
运行结果
这样可以
public static void main(String[] args) {
String[] temps = {"A","B","C","D","E","F","G"};
for (int i = 1; i = temps.length; i++) {
for(int j = temps.length; j i; j--){
System.out.print(" ");
}
for (int j = 0; j i*2-1; j++) {
System.out.print(temps[i-1]);
}
System.out.println();
}
}
运行结果
A
BBB
CCCCC
DDDDDDD
EEEEEEEEE
FFFFFFFFFFF
GGGGGGGGGGGGG
伪代码,供参考:
int k = 6; //定义最大长度
for(int i=1; i=k; i++) {
for(int j=0; ji; j++) {System.out.println("*");}
}
for(int i=k-1; i=1; i--) {
for(int j=0; ji; j++) {System.out.println("*");}
}
1、代码如下:
public class Main
{
public static void main(String[] args) {
System.out.println("Hello World!");
//主循环
for(int i =10;i0;i--){
//输出空格
for(int k=i;k0;k--){System.out.print(" ");}
//输出数字
for(int j=i;j=10;j++){
System.out.print(j+" ");
}System.out.println(" ");
}
}
}
2、效果如图