Java:使用substring()和length()从字符串输入中交叉求和
我是Java新手,我应该只使用substring()和length()方法以及Integer.parseint()创建交叉和。我很难找到这个练习的解决方案(输入:123;输出:6,(即1+2+3=6)。我想我不明白循环是如何工作的。这就是我迄今为止尝试的:Java:使用substring()和length()从字符串输入中交叉求和,java,loops,substr,string-length,Java,Loops,Substr,String Length,我是Java新手,我应该只使用substring()和length()方法以及Integer.parseint()创建交叉和。我很难找到这个练习的解决方案(输入:123;输出:6,(即1+2+3=6)。我想我不明白循环是如何工作的。这就是我迄今为止尝试的: import java.util.Scanner; public class Quersumme { /** * @param args */ public static void main(Strin
import java.util.Scanner;
public class Quersumme {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Gebe Sie eine Zahl ein ----> ");
Scanner scan = new Scanner(System.in);
String zahlSumme;
String subStr;
int num;
zahlSumme = scan.nextLine();
subStr = zahlSumme.substring(0);
num = Integer.parseInt(subStr);
int sum = 0;
for (int i = 0; i < num; i++) {
sum += i;
}
System.out.println("Die Summe ist: " + sum);
scan.close();
}
}
import java.util.Scanner;
公共类查询{
/**
*@param args
*/
公共静态void main(字符串[]args){
System.out.println(“Gebe Sie eine Zahl ein-->”);
扫描仪扫描=新扫描仪(System.in);
字符串zahlSumme;
字符串subStr;
int-num;
zahlSumme=scan.nextLine();
subStr=zahlSumme.substring(0);
num=Integer.parseInt(subStr);
整数和=0;
for(int i=0;i
输入:123
产出:7503
import java.util.Scanner;
/**
*
*/
public class QuerSumme3 {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Gebe Sie eine Zahl ein ----> ");
Scanner scan = new Scanner(System.in);
String zahlSumme;
zahlSumme = scan.next();
String substr;
int sum = 0;
substr = zahlSumme.substring(zahlSumme.length());
for(int i = 0; i < substr.length(); i++) {
i = Integer.parseInt(substr);
sum += i;
}
System.out.println("Die Summe ist:----->" + sum);
}
}
import java.util.Scanner;
/**
*
*/
公共类查询摘要3{
/**
*@param args
*/
公共静态void main(字符串[]args){
System.out.println(“Gebe Sie eine Zahl ein-->”);
扫描仪扫描=新扫描仪(System.in);
字符串zahlSumme;
zahlSumme=scan.next();
字符串substr;
整数和=0;
substr=zahlSumme.substring(zahlSumme.length());
对于(int i=0;i”+sum);
}
}
输入:123
输出:0
我不希望在这里得到问题的解决方案,但只是一些建议我做错了什么,最重要的是,为什么第一次尝试返回了7503。提前非常感谢。在您的第二个代码中,您使用了索引为
I
的for循环
for(int i = 0; i < substr.length(); i++) {
我觉得更好的方法是
{
Scanner scan = new Scanner(System.in);
String zahlSumme;
zahlSumme = scan.next();
int sum = 0;
int i = 0;
for(i = 0; i < zahlSumme.length() - 1; i++) {
sum += Integer.parseInt(zahlSumme.substring(i, i + 1));
}
// add the last char
sum += Integer.parseInt(zahlSumme.substring(i));
System.out.println("Die Summe ist:----->" + sum);
{
扫描仪扫描=新扫描仪(System.in);
字符串zahlSumme;
zahlSumme=scan.next();
整数和=0;
int i=0;
对于(i=0;i”+sum);
}签出,您可以在其中指定起始索引和结束索引。通过此操作,您应该能够从字符串中提取每个数字,然后求和。这应该在循环中完成,在每个循环迭代中提取每个单个数字,然后添加到和中。
{
Scanner scan = new Scanner(System.in);
String zahlSumme;
zahlSumme = scan.next();
int sum = 0;
int i = 0;
for(i = 0; i < zahlSumme.length() - 1; i++) {
sum += Integer.parseInt(zahlSumme.substring(i, i + 1));
}
// add the last char
sum += Integer.parseInt(zahlSumme.substring(i));
System.out.println("Die Summe ist:----->" + sum);