Barais_19 Ответов: 1

Проблема перегрузки метода


Напишите перегруженный метод sumNumber, один из которых принимает одно 3-значное целое число, а второй-два 3-значных целых числа. Эти методы должны возвращать сумму отдельных чисел. Например, если методу задано значение типа:

123

Метод должен возвращать 6 потому что 1 + 2 + 3 = 6.

Мои два трехзначных числа работают и складываются просто отлично, но они продолжают выходить как 9, а не другое значение.

Что я уже пробовал:

package methodoverloading;
/**
 *
 * @author stephenwessels
 */
import java.util.Scanner;
public class MethodOverloading 
{
static int i;
static int j;

public static int GetSum(int a)
{
         i = 234;
         j = 0;
        while (i != 0) 
        {
            j += i % 10;
            i /= 10;
        }
        return i + j;
}

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter two three-digit numbers");
        i = in.nextInt();
        j = in.nextInt();
        System.out.println("The sum of the digits is " + GetSum(i));
    }
    
}

Richard Deeming

Ваш код не соответствует описанию вашего домашнего задания. Вам нужны два метода с одинаковым именем, принимающие разное количество параметров.

Определение методов (учебные пособия Java™ > изучение языка Java > классы и объекты)[^]

1 Ответов

Рейтинг:
2

Peter_in_2780

Вы всегда обрабатываете информацию 234 в GetSum Значение, которое вы передаете как a следует использовать вместо этого.
Быстрое решение заключается в замене

i = 234;
с
i = a;


Barais_19

ладно, это все исправлено. Теперь мне просто не хватает "make 1+2+3 = 6" метод. Есть какие-нибудь советы на этот счет?

PIEBALDconsult

Разве это не тот, что наверху?