Java 如何让我的程序为某些值打印一个完整的直角三角形?
我用88测试了这个程序,剩下一颗星来完成这个三角形。87,双星86,三星。这种情况持续了一定数量 这是编程Java 如何让我的程序为某些值打印一个完整的直角三角形?,java,loops,if-statement,triangle-count,Java,Loops,If Statement,Triangle Count,我用88测试了这个程序,剩下一颗星来完成这个三角形。87,双星86,三星。这种情况持续了一定数量 这是编程generate功能的两个选项 •一种是计算最后一行的长度,比如说maxLen,并使用双for循环生成一行一星、一行两星、一行三星,以此类推,以一行maxLen星结束。maxLen的值是大于或等于 二次方程的较大解x(x+1)=2*num. •另一种是在需要换行符的地方执行System.out.println()时,使用一个for循环打印num stars。需要换行符的点可以使用两个伴随的整
generate
功能的两个选项
•一种是计算最后一行的长度,比如说maxLen
,并使用双for循环生成一行一星、一行两星、一行三星,以此类推,以一行maxLen
星结束。maxLen的值是大于或等于
二次方程的较大解x(x+1)=2*num.
•另一种是在需要换行符的地方执行System.out.println()
时,使用一个for循环打印num stars。需要换行符的点可以使用两个伴随的整数变量来计算,例如len
和count
。这里,前者是生成的行的长度,count
是行中尚未打印的星星数。我们首先将值1设置为两个整数变量。在每一轮迭代中,我们减少count
的值,如果count的值变为0,我们插入换行符,增加len
的值,然后将len
的值复制到count
当循环终止时,如果count
的值既不等于0也不等于count,我们通过添加更多的星来扩展当前行。
import java.util.*;
public class TriangleSingle
{
public static void generate(int x) //Generates the Triangle
{
int len, count;
len = 1;
count = 1;
for (int k = 1; k <= x; k++)
{
System.out.print("*");
count --;
if (count == 0)
{
System.out.println();
len ++;
count = len;
}
}
if (count!= 0 || count != len)
{
System.out.println("*"); //Completes the triangle if needed
// This is the **problem spot**
}
import java.util.*;
公共类三角形单体
{
publicstaticvoidgenerate(intx)//生成三角形
{
内伦,伯爵;
len=1;
计数=1;
对于(int k=1;k试试这个:-
publicstaticvoidgenerate(intx)//生成三角形
{
内伦,伯爵;
len=1;
计数=1;
对于(int k=1;k试试这个:-
publicstaticvoidgenerate(intx)//生成三角形
{
内伦,伯爵;
len=1;
计数=1;
对于(intk=1;k试试这个
public class pyramid {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
System.out.println("Input Length of pyramid : ");
int length = s.nextInt();
for (int i = 1; i <= length; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*\t");
}
System.out.println("\n");
}
}
公共类金字塔{
公共静态void main(字符串参数[]){
扫描仪s=新的扫描仪(System.in);
System.out.println(“金字塔的输入长度:”);
int length=s.nextInt();
对于(inti=1;i试试这个
public class pyramid {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
System.out.println("Input Length of pyramid : ");
int length = s.nextInt();
for (int i = 1; i <= length; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*\t");
}
System.out.println("\n");
}
}
公共类金字塔{
公共静态void main(字符串参数[]){
扫描仪s=新的扫描仪(System.in);
System.out.println(“金字塔的输入长度:”);
int length=s.nextInt();
对于(inti=1;i请检查以下内容:
public static void generate(int x) //Generates the Triangle
{
int len, count;
len = 1;
count = 1;
for (int k = 1; k <= x;)
{
System.out.print("*");
count --;
if (count == 0)
{
System.out.println();
len ++;
k++;
count = len;
}
}
publicstaticvoidgenerate(intx)//生成三角形
{
内伦,伯爵;
len=1;
计数=1;
对于(int k=1;k请检查以下内容:
public static void generate(int x) //Generates the Triangle
{
int len, count;
len = 1;
count = 1;
for (int k = 1; k <= x;)
{
System.out.print("*");
count --;
if (count == 0)
{
System.out.println();
len ++;
k++;
count = len;
}
}
publicstaticvoidgenerate(intx)//生成三角形
{
内伦,伯爵;
len=1;
计数=1;
对于(int k=1;k诀窍是在内部循环中增加打印星的计数c
,它打印每一行,但在外部循环中检查它与所需的数字n
,后者确定要打印多少行。这样,我们可以确保打印完整的行,但我们至少打印完n
st后就停止打印阿尔斯
public static void generate(int n)
{
for(int c=0, i=0; c<n; i++)
{
for(int j=0; j<=i; j++, c++)
System.out.print('*');
System.out.println();
}
}
公共静态无效生成(int n)
{
对于(int c=0,i=0;c诀窍是增加内部循环中打印的星号的计数c
,它打印每一行,但检查外部循环中所需的数字n
,它确定要打印多少行。这样,我们可以确保打印完整的行,但至少打印完n
明星
public static void generate(int n)
{
for(int c=0, i=0; c<n; i++)
{
for(int j=0; j<=i; j++, c++)
System.out.print('*');
System.out.println();
}
}
公共静态无效生成(int n)
{
对于(int c=0,i=0;cYou需要两个嵌套循环。行的外循环。行的星的内循环。打印的星数。如果打印的星总数>=请求的星数,则退出外循环。您需要两个嵌套循环。行的外循环。行的星的内循环。打印的星数。如果打印的星总数>=请求的星数,则退出外循环。这样做有效,但我们我们给出了特别的说明。让我添加它们吧。这很有效,但我们给出了特别的说明。让我添加它们吧。伟大的解决方案,但我只是添加了我们给出的特别说明。伟大的解决方案,但我只是添加了我们给出的特别说明。我知道,这可能对Java的新用户有效,而OP显然是,我不要认为你应该像对待int c=0,i=0那样使用每个部分都有多个语句的for循环。同样,这可以用少于4个变量和更好的名称来完成。请编辑这个。我知道这可能会起作用,但对于Java中的新用户,OP显然是这样,我不认为你应该使用for-循环,每个部分都有多个语句,就像你对int c=0,i=0所做的一样。同样,这可以用少于4个变量和更好的名称来完成。请编辑这个。