Java 具有求和功能的For循环
我正在尝试编写一个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
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”);
不错的方法,但你的方法也可以简化一些。没错。我没有考虑这个问题。我专注于内部循环。修复。