Hola este es el código de mi ejercicio pero me da un error que no entiendo:
"constructor ListaDeCantantesFamosos in class ListaDeCantantesFamosos cannot be applied to given types; required.java.lang.String; found: no arguments; reason: actual and formal argument lists differ in length"
este es el de lista de cantantes
import java.util.ArrayList;
import java.lang.String;
public class ListaCantantesFamosos
{
private String nombreDeLaLista;
private ArrayList <String > listadecantantesfamosos;
public ListaCantantesFamosos(String nombre)
{
nombreDeLaLista=nombre;
listadecantantesfamosos =new ArrayList <String >();
listadecantantesfamosos.add("Adele");listadecantantesfamosos.add("Aerosmith");
listadecantantesfamosos.add("Queen");
}
public void addCantantes (String valor_nombre){listadecantantesfamosos.add(valor_nombre);}
public String getCantantes (int posicion){
if (posicion >=0 && posicion <listadecantantesfamosos.size()){
return listadecantantesfamosos.get(posicion);}
else {return "No existe nombre para la posicion solicitada";}
}
public int getTamaño(){
return listadecantantesfamosos.size();}
public void removeCantanteFamoso(int posicion){
if (posicion>=0 && posicion < listadecantantesfamosos.size()){
listadecantantesfamosos.remove(posicion);}
else {}
}
}
este es el de entrada de teclado que es uno que ya tenía
import java.util.Scanner;
public class EntradaDeTeclado{
private String entradaTeclado; //variable de instancia campo de la clase
public EntradaDeTeclado(){
entradaTeclado="";
pedirEntrada();// esto es una llamada a un metodo interno. al crear un objeto ejecutamos el metodo
}
public void pedirEntrada(){ //metodo de la clase
Scanner entradaEscaner=new Scanner (System.in);
entradaTeclado=entradaEscaner.nextLine();
}
public String getEntrada(){return entradaTeclado;}
public String getPrimeraPalabra (){
//IMPORTANTE: EN JAVA LOS OBJETOS NO SE PUEDEN COMPARAR USANDO == POR ESO ESTO NO FUNCIONARÁ
if (entradaTeclado.substring (0,1).equals("j")){
System.out.println("hemos detectado una j");
}else {System.out.println ("Mira esto:" + entradaTeclado.substring(0,1) ); }
for (int i=0; i < entradaTeclado.length() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) { //IMPORTANTÍSIMO: COMPARAMOS CON EQUALS
return entradaTeclado.substring(0, i+1); }
}
return entradaTeclado;}
public int getLongitud(){ //metodo de la clase
return entradaTeclado.length();
}}
al compilar el main es donde presenta el mensaje mencionado anteriormente alguien puede ayudarme a ver mi error gracias!
import java.lang.String;
public class TestListaDeCantantesFamosos
{
public static void main (String [] args){
System.out.println("Ingrese dos cantantes mas");
System.out.println("Ingrese el primer cantante");
EntradaDeTeclado entrada1 = new EntradaDeTeclado();
System.out.println("Ingrese el segundo cantante");
EntradaDeTeclado entrada2 = new EntradaDeTeclado();
System.out.println("Gracias");
ListaCantantesFamosos lista1 = new ListaCantantesFamosos();
lista1.addCantantes(entrada1.getEntrada()); lista1.addCantantes(entrada2.getEntrada());
for (int i=0;(i<=lista1.getTamaño);i++)
{lista1.getCantantes(i);
}
}
}