У меня есть этот код и моя проблема в том, что он дает мне ошибку в methdod CrearProductoExtranjero
в ProductoExtranjeroPe = new ProductoExtranjero();
, который говорит, что конструктор не подходит, пожалуйста, помогитеНет подходящий конструктор найдено для ProductoExtranjero
import java.util.* ;
import java.util.Scanner;
public class ProductoExtranjero extends Producto {
private int PaisOrigen;
public ProductoExtranjero(int PaisOrigen, String UnNombre, String UnRubro) {
super(UnNombre, UnRubro);
this.PaisOrigen = PaisOrigen;
}
public ProductoExtranjero(int PaísOrigen) {
this.PaisOrigen = PaisOrigen;
}
public int getPaisOrigen() {
return PaisOrigen;
}
public void setPaisOrigen(int PaísOrigen) {
this.PaisOrigen = PaísOrigen;
}
@Override
public String toString() {
return "ProductoExtranjero{" + "PaiedsOrigen=" + PaisOrigen + "nombre=" + this.getNombre() + "rubro=" + this.getRubro() ;
}
public static Producto CrearProductoExtranjero() {
ProductoExtranjero Pe = new ProductoExtranjero();
Scanner in = new Scanner(System.in);
System.out.println("ingrese País de origen (1-120)");
Pe.setPaisOrigen(in.nextInt());
boolean val= true;
while(val){
System.out.println("Ingrese un nombre del producto: ");
Pe.setNombre(in.nextLine());
int nomlargo;
nomlargo=Pe.getNombre().length();
if (nomlargo<=0){
System.out.println("No ha ingresado un nombre producto valido. tiene que ser mayor a TRES!! caracteres.");
}
else{
val=false;
}
}
int opcion = 0;
boolean entrar = true;
while (entrar) {
System.out.println("Ingrese el rubro del producto. Tomando en cuenta que: \n1.Limpieza \n2.Cosmetica "
+ "\n3.Computacion \n4.Educacion \n5.Electrodomesticos \n6.Varios");
opcion = in.nextInt();
switch (opcion) {
case 1:
Pe.setRubro("Limpieza");
entrar = false;
;
case 2:
Pe.setRubro("Cosmetica");
entrar = false;
case 3:
Pe.setRubro("Computacion");
entrar = false;
case 4:
Pe.setRubro("Educacion");
entrar = false;
case 5:
Pe.setRubro("Electrodomesticos");
entrar = false;
case 6:
Pe.setRubro("Varios");
entrar = false;
default:
System.out.println("Ha ingresado un rubro no existente!!");
} break;
}
return Pe;
}
}
нормально, так, что вы имеете в виду указать аргументы в вашем вызове конструктора ?, причиной того, что я хочу сделать, это вызвать этот метод в мой основной класс, поэтому пользователь программы может добавить productos extranjeros, я новичок в программировании thanx для помощи и плохо смотрю на соглашения об именах java –
@SantiagoMarquez: Я имею в виду «новый ProductoExtranjero (10)» или что-то в этом роде. Если честно, если вы новичок в программировании, я настоятельно рекомендую вам внимательно прочитать хорошую книгу. Переполнение стека отлично подходит для конкретных вопросов, но это не очень хороший способ изучения основ языка. –