gpt4 book ai didi

java - 我无法让这个 txt.file 正确打印 1-100 个整数

转载 作者:太空宇宙 更新时间:2023-11-04 06:32:11 25 4
gpt4 key购买 nike

我试图让这段代码在第一行打印 1-10,然后在第二行打印 11-20,在第三行打印 21-30,等等。

但是现在的代码在第一行打印 1-10,然后在第二行打印 10-20,在第三行打印 20-30,依此类推。

基本上我被困在这里,一直在尝试和错误来尝试修复它,但没有任何效果。

import java.util.Scanner;
import java.io.*;

public class P4C {
public static void main ( String [] args )throws IOException {
PrintWriter writer = new PrintWriter ( new File ( "Write100Project" )); //creates a PrintWriter object to allow us to create and write to a file.
int integer = 1;
int margin = 1;
int counter = 1;
while ( margin <=100){
if ( margin == 10*counter ){
System.out.println ( integer + " ");
counter+=1;
integer = integer+1;
}
System.out.print ( integer + " " );
integer+=1;
margin++;
}
}
}

最佳答案

当您循环数组并希望以不同方式处理某些元素时,基本上有两种方法:

  1. 为特殊元素做一些事情。对除特殊元素之外的所有内容执行其他操作。在代码中,这意味着 while 循环中有一个 if-else。
  2. 为每个元素做一些通用的事情,并为特殊元素做一些额外的事情。

选择哪种方法取决于重叠量。如果特殊元素的代码与其他元素的代码非常不同,则使用 1。如果代码几乎相同,则使用 2。

你似乎混合了这些,这就是为什么每个 10 的倍数都会打印两次。将您的问题转化为以下两种方法:

  1. 打印数字并为每个 10 的倍数换行。打印每个其他元素的数字。 while 主体的代码片段(使用 %,我希望您从其他答案中得到了含义):

if (margin % 10 == 0) {
System.out.println(margin + " ");
margin++;
} else {
System.out.print(margin + " ");
margin++;
}
  • 打印每个元素的编号。此外,每 10 的倍数打印一个新行(注意我需要如何重新排序代码;您首先要打印 10 的倍数,然后是新行,然后增加边距):
  • System.out.print(margin + " ");
    if(margin % 10 == 0) {
    System.out.println();
    }
    margin++;

    此外,请注意我不再需要integercounter 了吗?

    关于java - 我无法让这个 txt.file 正确打印 1-100 个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25986024/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com