Что я должен поставить в качестве возврата? - PullRequest
0 голосов
/ 12 октября 2018

Я только начал изучать Java.задача состоит в том, чтобы создать метод, который рассчитывает от значения, заданного пользователем.Скорость увеличения и конечное значение также задаются пользователем.Поскольку я действительно не знаю, как это сформулировать, вот пример:

Пример:

input: Начальное значение (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;

    }


}

Ответы [ 4 ]

0 голосов
/ 12 октября 2018

Это можно сделать более красноречиво, однако, я считаю, что-то вроде этого - то, что вы ищете.Дайте мне знать, если вам нужна дополнительная помощь!Приведенный ниже код должен быть всем, что вы понимаете как новый 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;
   }
}
0 голосов
/ 12 октября 2018

Используйте объект 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();
}
0 голосов
/ 12 октября 2018

вы уже сделали это, сделайте небольшую модификацию здесь.вам не нужно возвращаться, поскольку ваше требование - просто напечатать числа, поэтому замените это

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,
0 голосов
/ 12 октября 2018

Создайте переменную с именем sum и присвойте ей начальное значение 0

long sum = 0; // I guess this is Zähler

. На каждой итерации добавляйте текущее значение i к сумме, например:

sum = sum + i; // alternatively sum += i;

Returnсумма в конце метода Schrittzähler.

подсказка: по договоренности все переменные Java пишутся в camelCase, начиная с маленькой буквы (не заглавной).То же самое применимо к членам класса, таким как методы и поля. Java документ

...