Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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 具有求和功能的For循环_Java_Loops_For Loop_Sum - Fatal编程技术网

Java 具有求和功能的For循环

Java 具有求和功能的For循环,java,loops,for-loop,sum,Java,Loops,For Loop,Sum,我正在尝试编写一个for循环,它将接受用户输入,不管输入是正是负,显示输入数字,然后显示数字的总和。我可以尽可能地显示数字,但我很难正确求和 import java.util.Scanner; public class DisplayandSum { public static void main(String[] args) { Scanner input = new Scanner(System.in); //Variable declarati

我正在尝试编写一个for循环,它将接受用户输入,不管输入是正是负,显示输入数字,然后显示数字的总和。我可以尽可能地显示数字,但我很难正确求和

import java.util.Scanner;

public class DisplayandSum {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        //Variable declaration
        int size;
        int Num1;
        int count = 0;   //LCV
        int sum = 0;    //Sum of inputs
        String newNum;  // Declared string for user input         
        System.out.println("Please enter an integers and press enter.");

        newNum = input.next();

        Num1 = Integer.parseInt(newNum);

        size = newNum.length();

        System.out.print("These are your numbers: ");

        if (Num1 > 0) //If number is positive
        {
            for (count = 0; count <= (size - 1); count++) {
                System.out.print(newNum.charAt(count) + "");
            }
        } else if (Num1 < 0) // If number is negative
        {
            System.out.print("-");

            for (Num1 = 1; Num1 <= (size - 1); count++) {
                System.out.print(newNum.charAt(count) + "");
            }
        }
        if (Num1 > 0) //If positive sum
        {
            for (count = 0; count < (size - 1); count++) {
                sum = sum + count;
            }

        } else if (Num1 < 0) // If negative sum 
        {
            for (Num1 = size; Num1 > 2; Num1--) {
                Num1 = Math.abs(Num1);
            }
            sum = sum + Num1 % 10;
            Num1 = Num1 / 10;
        }

        sum = sum + (0 - Num1);

        System.out.println("\nand the sum of your digits is: " + sum);

    }
}
import java.util.Scanner;
公共类DisplayandSum{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
//变量声明
整数大小;
int Num1;
int count=0;//LCV
int sum=0;//输入的总和
String newNum;//为用户输入声明的字符串
System.out.println(“请输入整数并按enter键”);
newNum=input.next();
Num1=整数.parseInt(newNum);
size=newNum.length();
System.out.print(“这些是您的号码:”);
if(Num1>0)//如果数字为正
{
对于(计数=0;计数2;Num1--){
Num1=数学绝对值(Num1);
}
总和=总和+Num1%10;
Num1=Num1/10;
}
总和=总和+(0-Num1);
System.out.println(“\n您的数字总和为:“+sum”);
}
}
当你们说“数字之和”时,我想你们实际上是指“数字之和”

您的代码比需要的复杂

// Variable declaration
int sum = 0;    //Sum of inputs
String newNum;  // Declared string for user input         

System.out.println("Please enter an integer and press enter.");
newNum = input.next();

size = newNum.length();

System.out.print("These are your numbers: ");

for (count = 0; count < size; count++)
{
   char  ch = newNum.charAt(count);
   if (Character.isDigit(ch) {
      System.out.print(ch);
      sum += (ch - '0');
   }
}

System.out.println("\nand the sum of your digits is: " + sum);
//变量声明
整数和=0//输入之和
字符串newNum;//为用户输入声明的字符串
System.out.println(“请输入一个整数并按enter键”);
newNum=input.next();
size=newNum.length();
System.out.print(“这些是您的号码:”);
用于(计数=0;计数<大小;计数++)
{
char ch=newNum.charAt(计数);
if(字符isDigit(ch){
系统输出打印(ch);
总和+=(ch-‘0’);
}
}
System.out.println(“\n您的数字总和为:“+sum”);

不错的方法,但你的方法也可以简化一些。
没错。我没有考虑这个问题。我专注于内部循环。修复。