Passagem de argumento como leitura do teclado

6 respostas
Bruno_Gabriel_da_Sil

Será que alguem pode me explicar como posso fazer para passar argumentos como leitura do teclado?
Estou com dificuladades para faze-lo.

public class Moto {
	private String[] modelo;   
    private String[] placa;   
    private int peso;   
 
    public Moto() {
		
	}
	public void setModelo(String[] modelo2)
    { 
    	this.modelo = modelo2; 
    }   
    public void setPlaca(String[] nplaca)
    { 
    	this.placa = nplaca; 
    }   
    public void setPeso(float npeso)
    { 
    	if(npeso <= 200)
    	this.peso = (int) npeso;
    }
	
	public float getPeso() {
		
		return peso;
	}
	public String[] getModelo()
	{
		return modelo;
	}
	public String[] getPlaca()
	{
		return placa;
	}

}
import java.util.Scanner;

public class Principal {

	
	public static void main(String[] args) 
	{
		Moto nova = new Moto();

		float peso ;
		String Modelo;
		String Placa;
		
		nova.getPeso();
		nova.getModelo();
		nova.getPlaca();
		
		Scanner sc = new Scanner(System.in);
		System.out.println("Digite qual eh o peso da moto");
		peso = sc.nextFloat();
		System.out.println("Digite qual eh o modelo da moto");
		Modelo = sc.next();
		System.out.println("Digite qual eh a placa da moto");
		Placa = sc.next();
		
		System.out.println("O peso da moto eh = " + peso);
		System.out.println("O modelo da moto eh = "+ Modelo);
		System.out.println("A placa da moto eh = " + Placa);
		
		//System.out.println(nova);
		
	}

}

Então ai no meu metodo principal é q ue eu gostaria solucionar meus problemas

nova.getPeso(argumento lido do teclado);

Obrigado

6 Respostas

R

Espero que ajude =]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JOptionPane;


public class teclado {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {   
		    	BufferedReader in = new BufferedReader(new InputStreamReader(System.in));   		  
		    	System.out.print("Digite alguma coisa: ");   
		    	String str = in.readLine();   		  
		    	System.out.print("Você digitou: " + str);   
		} catch (IOException exception) {   
		    exception.printStackTrace(); 
		  }  
		
		JOptionPane.showMessageDialog(null,"Vc digitou " + JOptionPane.showInputDialog(null, "Digite algo:"));
	}
}
Bruno_Gabriel_da_Sil

Valeu a ajuda, mas ainda não estou neste estágio de compreender o que você fez. Mas mesmo assim muito obrigado.

michelantunes

Cara,

Isso deve estar dando erro, não é?
Então:

Você está recuperando valores de moto, sem tê-los e atribuindo a ninguém.
Tenta fazer o seguinte:

import java.util.Scanner;

public class Principal {

	
	public static void main(String[] args) 
	{
		Moto nova = new Moto();

		float peso ;
		String Modelo;
		String Placa;
		
		Scanner sc = new Scanner(System.in);
		System.out.println("Digite qual eh o peso da moto");
		peso = sc.nextFloat();
		System.out.println("Digite qual eh o modelo da moto");
		Modelo = sc.next();
		System.out.println("Digite qual eh a placa da moto");
		Placa = sc.next();
		
		System.out.println("O peso da moto eh = " + peso);
		System.out.println("O modelo da moto eh = "+ Modelo);
		System.out.println("A placa da moto eh = " + Placa);
		
		//System.out.println(nova);
		
	}

}

No fim de tudo, você deve usar os métodos SET para preencher os atributos da classe Moto.
Abs, :thumbup:

Bruno_Gabriel_da_Sil

Você diz no fim da classe principal?

michelantunes

Isso… para todos os atributos.
exemplo:

moto.setPeso(peso);

depois se quiser visualizar os valores, ai sim você usa o GET:

System.out.println("O peso da moto eh = " + moto.getPeso());

Blz?

T
private String[] modelo;     
     private String[] placa;

Isso quer dizer que uma moto tem N modelos e N placas, ou é que você aprendeu primeiro C e depois acha que Java é a mesma coisa que C? Pelo que imagino, você aprendeu C primeiro.

Em C você faria:

char modelo[100];
char placa [10];

Em Java, basta fazer:

String modelo;
String placa;
Criado 2 de setembro de 2008
Ultima resposta 2 de set. de 2008
Respostas 6
Participantes 4