Java 如何在三角形中打印*?
我的代码:Java 如何在三角形中打印*?,java,for-loop,Java,For Loop,我的代码: expected output: **** my output: **** *** *** ** ** * *
expected output: **** my output: ****
*** ***
** **
* *
** *
*** *
**** ****
class赋值17
{
公共静态void main(字符串[]args)
{
int n=7;
对于(inti=0;i这可能不是最好的解决方案,但它是有效的;)我从4颗星开始,每行减少1颗星。如果只剩下1颗星,我就开始再次增加星星
class assign17
{
public static void main(String[] args)
{
int n=7;
for(int i=0;i<7;i++)
{
for(int j=0;j<4;j++)
{
if(i+j<=n-4||j==0||i==n-1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}
publicstaticvoidmain(字符串[]args){
int星=4;
布尔下限=真;
对于(int i=0;i这将为您提供预期的输出
12345
1234
123
12
1
12
123
1234
12345
另外两个循环将打印星星的最后一部分
****
***
**
*
如果你愿意的话,如果我是对的,你可以用这个做
**
***
****
static void printstars(int num){
如果(数值>0){
对于(int t=0;t试试这个,我在代码中添加了else if条件
static void printstars(int num){
if(num > 0){
for(int t = 0; t<num;t++)
System.out.print("*");
System.out.println();
printstars(num -1);
for(int t = 0; t<num;t++)
System.out.print("*");
System.out.println();
}
}
publicstaticvoidmain(字符串[]args){
int n=7;
对于(int i=0;i<7;i++){
对于(int j=0;j<4;j++){
如果(i+j=n-4)
系统输出打印(“*”);
其他的
系统输出打印(“”);
}
System.out.println();
}
}
您可以这样做。提取所使用的字符,以便将来需要更改。另外,请注意系统。out.println
仅位于第一个for循环中,因此它没有那么复杂。有一种方法负责生成需要打印的字符串。当当你到达零时,你切换y
变量并开始计数
public static void main(String[] args) {
int n = 7;
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 4; j++) {
if (i + j <= n - 4 || j == 0 || i == n - 1)
System.out.print("*");
else if (i - j >= n - 4)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
每次迭代应打印的星号为
****
***
**
*
**
***
****
所以这里我使用了Math.abs(mid-i)+1的内环限制
谢谢你,兄弟!是你给了我一个简单易懂的答案。问题与*
有关,而不是数字(1 2 3 4…)停止从互联网复制代码。尝试你自己的方法和逻辑!以上源代码的参考链接:
static void printstars(int num){
if(num > 0){
for(int t = 0; t<num;t++)
System.out.print("*");
System.out.println();
printstars(num -1);
for(int t = 0; t<num;t++)
System.out.print("*");
System.out.println();
}
}
public static void main(String[] args) {
int n = 7;
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 4; j++) {
if (i + j <= n - 4 || j == 0 || i == n - 1)
System.out.print("*");
else if (i - j >= n - 4)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
public static final String CHARACTER = "*";
public static void main(String args[]) {
int x = 4;
int y = 1;
boolean hitZero = false;
for (int i = 0; i < 7; i++) {
System.out.println(buildStr(hitZero?y:x));
if(x==1)
hitZero = true;
if(hitZero)
y++;
else
x--;
}
}
private static String buildStr(int count) {
String res = "";
for(int i=0; i< count; i++)
res+=CHARACTER;
return res;
}
****
***
**
*
**
***
****
iteration(i) => 0 | 1 | 2 | 3 | 4 | 5 | 6
number of star => 4 | 3 | 2 | 1 | 2 | 3 | 4
Math.abs(mid-i)+1 => 4 | 3 | 2 | 1 | 2 | 3 | 4
public static void main(String[] args)
{
int n = 7;
int mid = n / 2;
for(int i=0; i<n; i++)
{
for(int j=0; j< Math.abs(mid-i)+1; j++)
{
System.out.print("*");
}
System.out.println();
}
}
****
***
**
*
**
***
****