Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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_Java.util.scanner_Pascals Triangle - Fatal编程技术网

相同的Java代码在一台计算机上工作,而不是在另一台计算机上工作

相同的Java代码在一台计算机上工作,而不是在另一台计算机上工作,java,java.util.scanner,pascals-triangle,Java,Java.util.scanner,Pascals Triangle,我用Java编写了一个代码来生成Pascal三角形。我家里有两台笔记本电脑,一台装有Windows Vista home Basic,另一台装有Windows 8.1 SingleLanguage,两台都装有相同版本的java。下面提到的代码在Win Vista中运行得非常好,但是当我尝试在Win 8.1上运行相同的代码时,出现了一个逻辑错误。可能的原因是什么 这是我最近编译的代码草案: import java.util.*; class PascalsTriangle { int RO

我用Java编写了一个代码来生成Pascal三角形。我家里有两台笔记本电脑,一台装有Windows Vista home Basic,另一台装有Windows 8.1 SingleLanguage,两台都装有相同版本的java。下面提到的代码在Win Vista中运行得非常好,但是当我尝试在Win 8.1上运行相同的代码时,出现了一个逻辑错误。可能的原因是什么

这是我最近编译的代码草案:

import java.util.*;
class PascalsTriangle
{
    int ROW,max=0;
    void main ()
    {
        Scanner sc = new Scanner ( System.in );
        System.out.println(" Input the number of rows in the Pascals Triangle to be generated. ");
        ROW = sc.nextInt();
        int[][] pascal = new int [ROW+1][];
        pascal[1] = new int [1+2];
        pascal[1][1] = 1;
        int i,k=0,j,len=0;
        String str="";
        for( i=2;i<=ROW;i++ )
        {
            pascal[i] = new int [i+2];
            for( j=i;j<pascal[i].length-1;j++ )
            {
                pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
                str = Integer.toString(pascal[i][j]);
                len = str.length();
                if( len>max )
                {
                    max = len;
                }
            }
        }
        for( i=1;i<=ROW;i++ )
        {
            for( k=ROW;k>i;k-- )
            {
                System.out.format( "%-" + max + "s", " " );
            }
            for( j=i;j<pascal[i].length-1;j++ )
            {
                System.out.format( "%-" + (max+max) + "s", pascal[i][j] );
            }
            System.out.println();
        }
    }
import java.util.*;
PascalsTriangle类
{
int行,最大值=0;
空干管()
{
扫描仪sc=新扫描仪(System.in);
System.out.println(“输入要生成的帕斯卡三角形中的行数”);
行=sc.nextInt();
int[][]pascal=新int[ROW+1][];
帕斯卡[1]=新整数[1+2];
帕斯卡[1][1]=1;
int i,k=0,j,len=0;
字符串str=“”;
for(i=2;i
void main()
似乎只在某些java版本上起作用

class PascalsTriangle
{
  public static void main (String[] args)
  {
    int ROW,max=0;
    Scanner sc = new Scanner ( System.in );
    System.out.println(" Input the number of rows in the Pascals Triangle to be generated. ");

// ...
但我只得到降序位置的第一个“1”,这在任何意义上都是一个很好的开始

编辑:下一个发现的东西

然后从第19行的位置i开始,在

     for( j=i;j<pascal[i].length-1;j++ )

for(j=i;jDo两台机器上的Java版本是否相同?您会收到什么错误消息?我收到
error:Main方法在类PascalsTriangle中找不到,请将Main方法定义为:public static void Main(String[]args)
这说明plz可以共享逻辑错误吗?是的……我已经仔细检查过了。毫无疑问。我没有收到任何错误消息。是的,但我使用了void main()对于我所有其他没有生成错误的代码。@SharanyaBanerjee我为您的索引问题添加了一个提示。当我开始在pos 2而不是I处添加,并在pos 1而不是I处添加输出时,它在linux上工作。