Java从1到n求和,输出显示功

Java从1到n求和,输出显示功,java,Java,我有一个作业问题,我几乎已经完成了,但我只是停留在如何正确地输出它 编写一个程序,读取一个正整数n并按如下方式打印从1到n的所有整数之和: 1+2+…+n=n(n+1)/2 输出不包含任何空格。输入示例:5对应的输出:1+2+3+4+5=15 这是我的密码: import java.util.Scanner; public class Homework2 { public static void main(String[] args) { Scanner sc = new Scanne

我有一个作业问题,我几乎已经完成了,但我只是停留在如何正确地输出它

编写一个程序,读取一个正整数n并按如下方式打印从1到n的所有整数之和: 1+2+…+n=n(n+1)/2 输出不包含任何空格。输入示例:5对应的输出:1+2+3+4+5=15

这是我的密码:

import java.util.Scanner;

public class Homework2 {
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int sum = 0;
    for (int i = 0;i <= n; i++) {
        sum = sum + i;
    }
    System.out.printf("the sum of %d is %d%n", n, sum);
 }
}
import java.util.Scanner;
公共课家庭作业2{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();
整数和=0;
对于(int i=0;i
publicstaticvoidmain(String[]args){
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();

对于(int i=1;i您需要在循环中打印

你应该从1开始,就像说明书上说的

for (int i = 1;i < n; i++) {
    sum = sum + i;
    System.out.printf("%d+", i);
}
sum += n;
System.out.printf("%d=%d\n", n, sum);
for(int i=1;i
您可以分别处理打印
n
=
的情况,如下所示:

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Print the sum of all integers from 1 to n program");
    System.out.println("=================================================");
    System.out.print("Please enter n: ");
    int n = scanner.nextInt();
    int sum = 0;
    for(int i = 1; i < n; i++) {
      System.out.print(i + "+");
      sum += i;
    }
    sum += n;
    System.out.print(n + "=" + sum);
  }
}

在for循环中,可以写出i的值和一个+符号,如System.out.printf(“%d+”,i);但是要注意最后一个,你不需要+号。不要试图在一个printf语句中打印整个答案。在循环时一块一块地打印。你可以在1个printf中完成,但你要打印的是你在循环中建立的字符串。人们有时真的不喜欢明确的家庭作业问题。不要轻举妄动otes Personally这里有一行代码:
System.out.println(IntStream.range(1,n+1).peek(i->System.out.print(i+(i==n?”=“:”+”))).sum();
(演示:,一些阅读:)整数除法?那永远是正确的数字吗?@cricket_007是的,java是从左到右的。它总是给出正确的输出。n和n+1的乘积总是偶数如果你将n乘以n+1,你总是会得到偶数(假设n是一个整数)所以你可以安全地把它分成两个,它永远都是正确的数字。@RC.请你详细说明一下好吗?你是说这个用0除法的笑话吗?如果在循环中用if-else处理这个特殊情况,读起来有点困难。我更愿意像其他两个答案一样,把这个特殊情况放到循环之外。为什么我觉得你在复制过去我不知道我的答案是什么?直到我读到这个问题说它需要printf()我才知道它不是printf。我选择了和你一样的虚名,因为op使用的是
sum
。。我们的答案中也没有值得复制的内容。我想这只是一种常见的方法……我知道;)只是您删除了,然后我们将相同的解决方案改回不使用
printf()
:)
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Print the sum of all integers from 1 to n program");
    System.out.println("=================================================");
    System.out.print("Please enter n: ");
    int n = scanner.nextInt();
    int sum = 0;
    for(int i = 1; i < n; i++) {
      System.out.print(i + "+");
      sum += i;
    }
    sum += n;
    System.out.print(n + "=" + sum);
  }
}
Print the sum of all integers from 1 to n program
=================================================
Please enter n:  5
1+2+3+4+5=15