Problemas com metodos

oi gente to tendo uma dificuldade com um exercicio utilisando metodos o problema eh
tenho essa classe bicicleta


package bicicleta;

public class Bicicleta {
Roda Roda=new Roda();
    public Roda rodaDianteira;
    private Roda rodaTraseira;
    
    public void andar(){
   }
    public void frear(){}
    
}

esses metodos tem que fazer isso
public void andar()
faz com que ela ande
public void frear()
faz com que ela freie
mais se vcs reparar ela variavel ai que eu criei eh do tipo roda
entao teria de buscar em outro classe que seria essa


package bicicleta;

public class Roda {
private boolean emAndamento;
public void girar(){

}
public void parar(){}

}

o
public void girar()
determina que a roda esta em movimeto
public void parar()
determina que a roda esta parada

gostaria de saber como eu vou ler os atributos e metodos de uma classe em outra
depois disso ainda vou fazer um roteiro na main com esses metodos mais isso acho que sei fazer rsrs.
grata.

Acho melhor você usar métodos mais claros p/ determinar o estado da roda.

Somente um estáGirando() que retorne verdadeiro ou falso já funciona muito bem.

Lembre-se que métodos são mensagens que você manda para o objeto, por girar e parar eu entenderia que você está mandando a roda girar ou parar, e não obtendo um estado dela.

Veja se clareia um pouco suas idéias:

Roda.java

public class Roda {

	private boolean emAndamento = false;

	public void girar() {
		emAndamento = true;
		System.out.println("A roda agora está girando!");
	}

	public void parar() {
		emAndamento = false;
		System.out.println("A roda agora está parada");
	}

}

Bicicleta.java

public class Bicicleta {
	
	private Roda rodaDianteira;
	private Roda rodaTraseira;
	
	public void andar() {
		System.out.println("A bicicleta agora está andando");
		rodaDianteira.girar();
		rodaTraseira.girar();
	}
	
	public void parar() {
		System.out.println("A bicicleta agora está parada");
		rodaDianteira.parar();
		rodaTraseira.parar();
	}

}

Seu código está um pouco confuso, segue um proposta de código. Procure trabalhar com beans, sempre busque o encapsulamento e o auto-encapsulamento.

package bicicleta;

public class Bicicleta
{
    private	Roda rodaDianteira;
    private Roda rodaTraseira;

    public Bicicleta()
    {
         setRodaDianteira(new Roda());
         setRodaTraseira(new Roda());
    }
    
    public Roda getRodaDianteira()
    {
		return rodaDianteira;
	}
	public void setRodaDianteira(Roda rodaDianteira)
	{
		this.rodaDianteira = rodaDianteira;
	}
	public Roda getRodaTraseira()
	{
		return rodaTraseira;
	}
	public void setRodaTraseira(Roda rodaTraseira)
	{
		this.rodaTraseira = rodaTraseira;
	}
	public void andar()
    {
		rodaDianteira.girar();
    	rodaTraseira.girar();
    }
    public void frear()
    {
    	rodaDianteira.parar();
    	rodaTraseira.parar();
    }
    
}
package bicicleta;

public class Roda 
{
	private boolean emAndamento;
	public void girar()
	{
		setEmAndamento(true);
	}
	public void parar()
	{
		setEmAndamento(false);
	}
	public boolean isEmAndamento() 
	{
		return emAndamento;
	}
	private void setEmAndamento(boolean emAndamento) 
	{
		this.emAndamento = emAndamento;
	}

}

AAA ta vou fazer assim então grata pela ajuda.

[quote=Gbzao!]Veja se clareia um pouco suas idéias:

Roda.java

public class Roda {

	private boolean emAndamento = false;

	public void girar() {
		emAndamento = true;
		System.out.println("A roda agora está girando!");
	}

	public void parar() {
		emAndamento = false;
		System.out.println("A roda agora está parada");
	}

}

Bicicleta.java

[code]
public class Bicicleta {

private Roda rodaDianteira;
private Roda rodaTraseira;

public void andar() {
	System.out.println("A bicicleta agora está andando");
	rodaDianteira.girar();
	rodaTraseira.girar();
}

public void parar() {
	System.out.println("A bicicleta agora está parada");
	rodaDianteira.parar();
	rodaTraseira.parar();
}

}

fiz isso ai quando eu coloco na main assim
eu estanciei a classe bicicleta
Bicicleta bic = new Bicicleta();
ai quando eu coloca bic.andar();
da esse erro aqui

Exception in thread “main” java.lang.NullPointerException
at bicicleta.Bicicleta.andar(Bicicleta.java:12)
at bicicleta.Main.main(Main.java:13)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)

vc poderia me ajudar
grata
[/code][/quote]

Bem vindo ao mundo do nullPointerException

Inicialize as Rodas, de preferencia no construtor

Public X(){
rodaDianteira = new Roda();
}


public class Roda {

	private boolean emAndamento = false;

	public void girar() {
		emAndamento = true;
		System.out.println("A roda agora está girando!");
	}

	public void parar() {
		emAndamento = false;
		System.out.println("A roda agora está parada");
	}

}

class Bicicleta {
	public static void main(String[] args) {
	  Roda bic = new Roda();
	  bic.girar();
	  bic.parar();
  	  
		
	}
  }

continua a mesma coisa
gente.Ta dando o mesmo erro

Cara vc já utilizou o exemplo que eu te passei se fez isso.

Crie uma classe principal, instancie a bicicleta e execute os métodos conforme a sua vontade, caso vc queira conferir os movimentos, adicione naquela implementação os println().

[quote=mid_] class Bicicleta { public static void main(String[] args) { Roda bic = new Roda(); bic.girar(); bic.parar(); } } [/quote]

Isso é uma Monocicleta :stuck_out_tongue: :wink:

[quote=ssica silva]continua a mesma coisa
gente.Ta dando o mesmo erro[/quote]
Você não está criando as rodas antes de usá-las.

[code]package bicicleta;

public class Bicicleta
{
private Roda rodaDianteira;
private Roda rodaTraseira;

public Bicicleta()
{
     setRodaDianteira(new Roda());
     setRodaTraseira(new Roda());
}

public Roda getRodaDianteira()
{
	return rodaDianteira;
}
public void setRodaDianteira(Roda rodaDianteira)
{
	this.rodaDianteira = rodaDianteira;
}
public Roda getRodaTraseira()
{
	return rodaTraseira;
}
public void setRodaTraseira(Roda rodaTraseira)
{
	this.rodaTraseira = rodaTraseira;
}
public void andar()
{
	System.out.println("andando!");
	rodaDianteira.girar();
	rodaTraseira.girar();
}
public void frear()
{
	System.out.println("parado!");
	rodaDianteira.parar();
	rodaTraseira.parar();
}

}
[/code]

[code]
package bicicleta;

public class Roda
{
private boolean emAndamento;
public void girar()
{
setEmAndamento(true);
}
public void parar()
{
setEmAndamento(false);
}
public boolean isEmAndamento()
{
return emAndamento;
}
private void setEmAndamento(boolean emAndamento)
{
this.emAndamento = emAndamento;
}

}
[/code][code]package bicicleta;

public class MinhaClasse
{
public static void main(String [] args)
{
Bicicleta bike = new Bicicleta();
bike.andar();
bike.frear();

    }

}[/code]

[quote=Bruno Laturner][quote=mid_] class Bicicleta { public static void main(String[] args) { Roda bic = new Roda(); bic.girar(); bic.parar(); } } [/quote]

Isso é uma Monocicleta :stuck_out_tongue: :wink: [/quote]

Foi isso q pensei!

[quote=Bruno Laturner][quote=mid_] class Bicicleta { public static void main(String[] args) { Roda bic = new Roda(); bic.girar(); bic.parar(); } } [/quote]

Isso é uma Monocicleta :stuck_out_tongue: :wink: [/quote]

Só um exemplo :shock:

[quote=ssica silva]continua a mesma coisa
gente.Ta dando o mesmo erro[/quote]

Aqui funcionou normalmente. coloque seu código inteiro aqui.

brigadao gente vcs me ajudarão e muito.Grata.

Meu programa receberá um arquivo de entrada, enumerando pré-requisitos. O arquivo contém:
número de matérias, na primeira linha; pré-requisito e matérias, nas demais linhas. um exemplo de arquivo de entrada (a matéria 0, por exemplo, é pré-requisito de 1 e 4). A entrada é esta:

6
0 1 4
1 2
2
3 2 5
4 1 5
5 2

Como que faço para produzir um arquivo com a ordenação Topologica correta das matérias, observando os
pré-requisitos? é um exercício de revisão de prova preciso de pelo menos uma ideia, Ajuda aí moçada.
Só sei que a saída deve ficar assim:::
3 0 4 5 1 2

Antes de Tudo preciso de uma dica!!!

Como devo modelar minha função de leitura para que leia minha entrada que é esta que já coloquei?
a função minha é esta!
Só que ela está lendo matriz e minha entrada não é matriz
public int[][] Leitor(String P) throws Exception
{
BufferedReader leitor = new BufferedReader(new FileReader§);

	int TAM = Integer.parseInt(leitor.readLine());
	int[][] matriz = new int[tamanho][tamanho];
	
	for (int i = 0; i < TAM; i++) {
		StringTokenizer st = new StringTokenizer(leitor.readLine());
		for (int j = 0; j < tamanho; j++) {
			matriz[i][j] = Integer.parseInt(st.nextToken());
		}
	}	
	leitor.close();
	return matriz;
}

VAlew!!

Qualquer dica será e grande Importância!!! A prova está chegando!!! VAlew
Boa semana!!