我刚刚开始学习Java。任务是创建一个从用户给定的值开始计数的方法。用户还给出增加率和结束值。由于我真的不知道该如何制定,下面是一个示例:
示例:
输入:开始值(1
,增加(2
),结束值(10
)
输出:
1,3,5,7,9
我必须把什么作为回报,以便类显示其计算的所有数字(如上例所示)?
import java.util.Scanner;
public class ForSchleifeÜbungen2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Bitte Startwert eingeben:");
long Startwert = sc.nextLong();
System.out.println("Bitte Schrittweite eingeben:");
long Schrittweite = sc.nextLong();
System.out.println("Bitte Endwert eingeben:");
long Endwert = sc.nextLong();
System.out.println("Ihr Startwert: " + Startwert);
System.out.println("Ihr Schrittweite: " + Schrittweite);
System.out.println("Ihr Endwert: " + Endwert);
System.out.println(Schrittzähler(Startwert, Schrittweite, Endwert));
}
public static long Schrittzähler (long Startwert, long Schrittweite, long Endwert) {
long Zähler;
for(long i = Startwert; i <= Endwert; i = i + Schrittweite) {
System.out.println(i);
}
long Zähler;
}
}
答案 0 :(得分:0)
创建一个名为sum的变量,并将其初始值设置为0
long sum = 0; // I guess this is Zähler
在每次迭代中,将当前i
值添加到总和中,例如:
sum = sum + i; // alternatively sum += i;
在Schrittzähler
方法的末尾返回和。
提示:按照惯例,所有Java变量都以驼峰形式编写,以小写字母(非大写字母)开头。同样适用于类成员,如方法和字段。 Java doc
答案 1 :(得分:0)
使用StringBuilder对象构建要显示的数字字符串。我可以自由地更改方法,变量和参数名称,以小写字母开头。
public static String schrittzähler(long startwert, long schrittweite, long endwert) {
StringBuilder builder = new StringBuilder(Long.toString(startwert));
for(long i = startwert + schrittweite; i <= endwert; i = i + schrittweite) {
builder.append(", ");
builder.append(i);
}
return builder.toString();
}
答案 2 :(得分:0)
您已经做到了,在这里稍作修改。您不需要返回,因为您的要求只是打印数字,所以请替换此
System.out.println(Schrittzähler(Startwert, Schrittweite, Endwert));
与
Schrittzähler(Startwert, Schrittweite, Endwert)
并如下更改方法的签名并删除long Zähler;
不必要
public static void Schrittzähler (long Startwert, long Schrittweite, long Endwert) {
for(long i = Startwert; i <= Endwert; i = i + Schrittweite) {
System.out.println(i + ",");
}
}
输入:
1, 2, 10
输出:
1,3,5,7,9,
答案 3 :(得分:0)
这可以更雄辩地完成,但是,我相信您正在寻找类似的东西。让我知道您是否需要更多帮助!以下代码应是您作为新Java程序员所了解的所有内容。这就是为什么我选择此解决方案。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(returnNums(1,2,10));
}
public static String returnNums(int startNum, int increaseByNum, int endNum){
String loopedNums = Integer.toString(startNum);
while((startNum+increaseByNum) < endNum) {
startNum = startNum + increaseByNum;
loopedNums += Integer.toString(startNum)+"";
}
return loopedNums;
}
}