Java从1到n求和,输出显示功
我有一个作业问题,我几乎已经完成了,但我只是停留在如何正确地输出它 编写一个程序,读取一个正整数n并按如下方式打印从1到n的所有整数之和: 1+2+…+n=n(n+1)/2 输出不包含任何空格。输入示例:5对应的输出:1+2+3+4+5=15 这是我的密码: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
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;ipublicstaticvoidmain(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