Как я могу создавать попросивший строитель?

У меня есть проблема с упражнением программирования, ориентируемого на объекты, более специально в Java. Я хотел бы консультировать, если кто-то может бросать мне руку. Он говорит так:

Верит в класс с двумя переменными тип int и два метода, у первого метода должно быть два параметра, которые позволяли бы ему получать как аргументы пальчатую стоимость с клавиатуры, но в методе main, одинокий метод должен показывать сообщение со стоимостью, которая получила параметры. Второй метод, он покажет сумму этой стоимости. Создавать персонализированный строитель, который принимал бы параметры, соответствующие переменной класса. Осуществите класс и призовите методы.

Проблема, - где создается объект, строитель приносит параметры, эти параметры - те же самые для всех методов, но я не знаю, как давать ему стоимость параметрам, так как, если я делаю это формой:

a=s.nextInt();

Он не позволяет это мне, потому что я нуждаюсь в объекте, чтобы соглашаться на переменные класса.

Я присоединяю мой код:

import java.util.*;

class Ejercicio2
{
  public int a , b ;

  public void param(int a, int b )
  {
    this.a=a;
    this.b=b; 
    System.out.println(a + b ) ; 
  }

  public void muestra() 
  {
    System.out.println("suma" + (a+b) ) ;
  }

  public Ejercicio2(int c , int d )
  {

  }

}

class DemoEjercicio2
{
  public static void main ( String args[] )

  {
    Scanner s=new Scanner (System.in) ;

    a=s.nextInt();
    b=s.nextInt();

    Ejercicio2 e=new Ejercicio2(a , b);
    e.param(a,b);
    e.muestra(); 

  }
}
1
задан 11.11.2016, 17:53
3 ответа

Ты cГіdigo quedarГ - в asГ-:

import java.util.*;

class Ejercicio2 {
    public int a, b;

    public Ejercicio2(int a, int b) { // un constructor con dos parametros
        param(a, b);
    }

    public void param(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public void muestra() {
        System.out.println("Número A: " + a + " - Numero B: " + b);
    }
}

class DemoEjercicio2 {
    public static void main(String args[]) {
        Scanner s = new Scanner(System.in);
        System.out.println("Introduzca dos número:");
        int numA = s.nextInt();
        int numB = s.nextInt();

        Ejercicio2 e = new Ejercicio2(numA, numB);
        e.muestra();
    }
}

3
ответ дан 24.11.2019, 12:39

проблема, - где создается объект, строитель приносит параметры, эти параметры - те же самые для всех методов, но, не, как давание ему стоимости параметрам, так как, если я делаю это формой a=s.nextInt(); он не позволяет это мне, потому что я нуждаюсь в объекте, чтобы соглашаться на переменные класса

Кажется, что есть маленькая путаница со следующей частью:

a=s.nextInt();
b=s.nextInt();

Ejercicio2 e=new Ejercicio2(a , b);

Кажется, что ты под печатью, что переменные a и b это те же самые, что определены в классе Ejercicio2. Но это не случай. Это полностью отличные переменные, и он в перемещать их строителя Ejercicio2 что стоимость распределена в a и b внутри класса Ejercicio2.

В самом деле, нет даже необходимости того, чтобы эти переменные назвались a и b. Ты можешь делать это, но он не необходим.

Как только ты понимаешь, что эти переменные отличные, конечно ты можешь понимать, что problemaes, что ты используешь переменные, не объявляя их.

Поэтому, способ исправлять эту проблему в особенности такой:

int a=s.nextInt(); // nota el "int" en frente
int b=s.nextInt(); // nota el "int" en frente

Ejercicio2 e=new Ejercicio2(a , b);

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

int x=s.nextInt(); // nota el "x"
int y=s.nextInt(); // nota el "y"

Ejercicio2 e=new Ejercicio2(x , y); // nota el "x" y "y"

Итак, следующая проблема состоит в том, что твой строитель пустой:

public Ejercicio2(int c , int d )
{

}

Здесь, если ты должен принимать параметры c и d и распределять их в переменные a и b внутри твоего класса Ejercicio2. Я уверен, что с усилием тебе удастся сделать необходимым для того, чтобы оно ты функционировало.

3
ответ дан 24.11.2019, 12:39

строитель служит для того, чтобы создать новый объект, но с уже установленными признаками, создает тебя в состоянии начала, начиная с твоих функций ты сможешь некоторые состояние начала, делая изменения в твоих изменчивых (признаках), свойственных твоему объекту.

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

изменяя твой код, добавляя contructor протестируй это.

import java.util.*;
class Ejercicio2 {
    public int a, b;

    public Ejercicio2(int a, int b) { 
        param(a, b);
    }
    public Ejercicio2() { 
        param(5, 6);
    }


    public void param(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public void muestra() {
        System.out.println("Número A: " + a + " - Numero B: " + b);
    }
}

class DemoEjercicio2 {
    public static void main(String args[]) {
        Scanner s = new Scanner(System.in);
        System.out.println("Introduzca dos número:");
        int numA = s.nextInt();
        int numB = s.nextInt();
        Ejercicio2 e = new Ejercicio2(numA, numB);
        e.muestra();
    }
}
0
ответ дан 24.11.2019, 12:39