Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让我的程序为某些值打印一个完整的直角三角形?_Java_Loops_If Statement_Triangle Count - Fatal编程技术网

Java 如何让我的程序为某些值打印一个完整的直角三角形?

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。需要换行符的点可以使用两个伴随的整

我用88测试了这个程序,剩下一颗星来完成这个三角形。87,双星86,三星。这种情况持续了一定数量

这是编程
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个变量和更好的名称来完成。请编辑这个。