当前位置: 首页 > 知识库问答 >
问题:

需要帮助转移爪哇的拉丁方块

郭通
2023-03-14

我目前正在制作一个拉丁方块,以用户设置的数字开始,但为了简单起见,我将排除扫描仪代码。

  public static void main(String[] args){
  
  int first = 2; // starting integer on square
  int order = 4; //max integer
  String space = new String(" "); 

  for (int row = 0; row < order; row++)
     {
      for (int column = 0; column < order; column++)
      {    
        for (int shift = 0; shift < order; shift++)
          {
            int square = ((column+(first-1)) % order + 1); //this makes a basic square with no shifting
            int latin = square+shift; //this is where my code becomes a mess
            System.out.print(latin + space);
          }
     System.out.println();
       }  
     }
  }
}

它打印出来:

2 3 4 5 
3 4 5 6 
4 5 6 7 
1 2 3 4 
2 3 4 5 
3 4 5 6 
4 5 6 7 
1 2 3 4 

它是如此接近,考虑到事实,它确实从我预先确定的第一个数字开始,它只打印4个整数。我遇到的问题是,它比我的顺序整数走得更远,而且它打印的行数是双倍。你知道我能做些什么来解决这个问题吗?

2 3 4 1
3 4 1 2
4 1 2 3
1 2 3 4

共有1个答案

霍修筠
2023-03-14

似乎最里面的循环for(int shift...)是多余的,它会导致输出重复,因此latin值应该使用row参数计算:

public static void main(String args[]) {
    int first = 2; // starting integer on square
    int order = 4; //max integer
    String space = " "; 

    for (int row = 0; row < order; row++) {
        for (int column = 0; column < order; column++) {    
            int latin = (row + column + first - 1) % order + 1;
            System.out.print(latin + space);
        }
        System.out.println();

    }
}

产出:

2 3 4 1 
3 4 1 2 
4 1 2 3 
1 2 3 4 
 类似资料:
  • 我试图用我的gradle项目运行junit测试,但不管是什么测试,它们都会抛出以下堆栈跟踪 我已经看到了一些建议的解决方案,但似乎没有一个奏效。当我在ant中运行它们时,我的测试运行良好。我已经确保xerces使用的是最新版本,我还添加了建议的版本 对于JVM,但似乎什么都不起作用。 任何建议都将不胜感激。我可以根据要求提供更多信息。 **更新** 做了以下更改- 但现在的结果如图所示 **更新2

  • 在我的spring-boot服务中,我使用https://github.com/java-json-tools/json-patch用于处理PATCH请求。 一切似乎都很好,除了一种避免修改不可变字段的方法,如对象ID、creation_time等。我在Github上发现了一个类似的问题https://github.com/java-json-tools/json-patch/issues/21我

  • 首先,我是C、C++、C#、Android和Swift的开发人员,但我绝对没有JavaScript、PHP或Web开发经验。 即只接受整数值的输入。 这是刀片代码:

  • 我正在尝试编写一个程序来实现对埃拉托西的筛选。我可以从2到任何给定的结束编号,但我们正在处理的赋值要求我们输入起始值。我完全被卡住了。我试过很多不同的代码,但它总是给我奇怪的答案。 我的起点是起始值,终点是结束值。我基本上想找到这个范围的素数。谢谢!!!

  • 我目前正在使用lit html开发一个Typescript应用程序。我希望将单个javascript文件中的所有javascript文件最小化。使用VS代码作为IDE。 我一直在考虑各种选择——汇总。js是一个选项,但我无法解决如何将多个ts文件捆绑到一个js文件中,将其最小化,并确保正确处理模块。 有没有使用rollup.js的例子来做这种可用的或其他可用的替代方案?

  • 我想对我的文件内容进行排序。我的文件内容是学生姓名,他们的学生编号,他们的班级,他们的成绩。这些数据由“;”分隔。首先,我需要计算平均值和字母等级。我已经计算过了,但是我需要将所有内容写入另一个文件,顺序必须是最高等级到最低等级。我该怎么办?