Cannot be applied - Strig / Objeto

Pessoal… mais um problema…

Estou lendo via teclao o seguinte código:

         System.out.print("Informe o No inicial: ");
         String xNoInicial = teclado.readLine();
         arestaAtual.setNoInicial(xNoInicial);

mas acusa o seguinte erro:

setNoInicial(No) in Aresta cannot be applied to (java.lang.String)

imagino porque estou lendo uma variável String… e jogando
ela numa variavel do tipo Objeto (no)…

desculpem… mas estou somente a 02 semanas… programando
e já tenho esse problema para resolver… obrigado a todos
que leram essa mensagem… e especialmente para quem responder…

obrigado

Oi

Somuca, posta aí o código do teu método setNoInicial() …

Assim vai ficar fácil resolver…

T+

Segue o código da classe No !!


import java.util.ArrayList;

/**
 * Classe NO
 * 
 * @author Rogério e Jean
 * @version 1.10
 */
public class No
{
	//Variáveis
	private String nomeNo;
	private double custo;
	private String tipo;
	private ArrayList arestaNo = new ArrayList();

	//Construtor
	public No()
	{
		nomeNo = null;
		custo = 0;
		tipo = null;
	}
 
    public No(String novoNomeNo, double novoCusto, String novoTipo){
       nomeNo = novoNomeNo;
       custo = novoCusto;
       tipo = novoTipo;
    }


    //Métodos
    
    public boolean setNomeNo(String novoNomeNo){
       nomeNo = novoNomeNo; 
       return true;
    }
    
    // informa Custo (Maior ou igual a zero)
    public boolean setCusto(double novoCusto) {
        if ( novoCusto >= 0 ){
           custo = novoCusto;
           return true;
        } else {
           return false;
        }
    }    
    
    // informa Tipo ("inicial","intermediario","final")
    public boolean setTipo(String novoTipo) {
        if ( novoTipo.equals("inicial") ||
             novoTipo.equals("intermediario") ||
             novoTipo.equals("final")) {           
                tipo = novoTipo;
                return true;
        } else {
           return false;
        }
    }     
    
    public String getNomeNo(){
       return nomeNo;   
    }
    
    public double getCusto(){
       return custo;
    }
    
    public String getTipo(){
       return tipo;
    }
    
    public ArrayList getArestaNo(){
       return arestaNo;   
    }
    
    // Adiciona 
    public boolean adicionaArestaNo(Aresta novaAresta) {
        arestaNo.add(novaAresta);
        return true;
    }    
    
  
    
}

desculpe… mas está na classe aresta… segue !!

public class Aresta
{
	//Variáveis
	private String nomeAresta;
	private double custo;
	private No noInicial;
	private No noFinal;

	//Construtor
	public Aresta()
	{
		custo = 0;
		noInicial = null;
		noFinal = null;
	}

    public Aresta(String novoNomeAresta, double novoCusto, No novoNoInicial, No novoNoFinal){
        nomeAresta = novoNomeAresta;
        custo = novoCusto;
        noInicial = novoNoInicial;
        noFinal = novoNoFinal;
    }   

    //Métodos
    
    public boolean setNomeAresta( String novoNomeAresta){
       nomeAresta = novoNomeAresta;   
       return true;
    }
    
    // informa Custo (Maior ou igual a zero)
    public boolean setCusto(double novoCusto) {
        if ( novoCusto >= 0 ){
           custo = novoCusto;
           return true;
        } else {
           return false;
        }
    }      
    
    
    // Nó Incial
    public boolean setNoInicial(No novoNoInicial) {
        noInicial = novoNoInicial;
        return true;
    }

    // Nó Final
    public boolean setNoFinal(No novoNoFinal) {
        noFinal = novoNoFinal;
        return true;
    }
    
    public String getNomeAresta(){
       return nomeAresta;   
    }

    public double getCusto(){
       return custo;
    }

    //Devolve o atributo no inicial do objeto em uso.
    public No getNoInicial() {
	   return noInicial;
    }
    
    //Devolve o atributo no final do objeto em uso.
    public No getNoFinal() {
	   return noFinal;
    }    



}

mas como faço para guardar o valor digitado do noInicial ???

tenta isso:

System.out.print("Informe o nome do No inicial: ");
String xNoInicialNome = teclado.readLine();
System.out.print("Informe o custo do No inicial: ");
double xNoInicialCusto = Double.parseDouble(teclado.readLine());
System.out.print("Informe o tipo do No inicial: ");
String xNoInicialTipo = teclado.readLine();
arestaAtual.setNoInicial(new No(xNoInicialNome, xNoInicialCusto, xNoInicialTipo));

Nâo está faltando alguma coisa?! :roll:
Onde que está o método setNoInicial()???

O método setNoInicial recebe um objeto do tipo No, e não do tipo String.