davide92 Posted October 17, 2012 at 05:14 PM Report #479539 Posted October 17, 2012 at 05:14 PM Boas a todos, tenho aqui um trabalho em que tenho de ter vários parâmetros, como por exemplo( carro: pneu, motor, suspensão etc...) e queria saber como posso fazer isso em java tendo em conta que irei ter mais que um carro. Pensei em arraylist, visto elas serem "infinitas", mas não estou a ver como fazer. Eu lembro-me que em C, basta pôr assim deste género: ... typedef struct carro { int id; char marca[50]; char nserie[50]; ... } CARRO; ... Como posso fazer algo do género para Java ?
KiNgPiTo Posted October 17, 2012 at 05:16 PM Report #479540 Posted October 17, 2012 at 05:16 PM (edited) Java é uma linguagem orientada a Objectos, é melhor começares por aí... Edited October 17, 2012 at 05:16 PM by KiNgPiTo
AJBM Posted October 17, 2012 at 08:15 PM Report #479552 Posted October 17, 2012 at 08:15 PM (edited) Em java o teu codigo ficava algo do género, public class Carro{ private int id; private String marca; private String nserie; public Carro(int id,String marca,String nserie){ this.id=id; this.marca=marca; this.nserie=nserie; } } em relacao ao arraylist podes fazer directamente no main e so precisas de fazer uma coisa List<Carro> conjcarros= new ArrayList<Carro>(); depois sempre que quiseres usar metodos, fazes por exemplo conjcarros.add(new Carro(123,"BMW","122js")); o código esta muito simplificado é só a para ficares com uma ideia. Edited October 17, 2012 at 08:17 PM by AJBM
Guest skinie18 Posted October 18, 2012 at 10:53 AM Report #479589 Posted October 18, 2012 at 10:53 AM Em C usas as Estroturas de dados como estas a mostrar, quando passas para c++ deixas de usar estroturas apesar de ser possivel criar estroturas pois C++ tal como java é uma linguagem OO (Object-oriented), nas linguagens OO as estroturas sao representadas sobre a forma de Objectos. Como dá para perceber ainda nao estas familiarizado com o conceito de Objecto por isso começa primeiro por perceber o conceito de Object-oriented programming.
HappyHippyHippo Posted October 18, 2012 at 11:27 AM Report #479596 Posted October 18, 2012 at 11:27 AM (edited) quando passas para c++ deixas de usar estroturas apesar de ser possivel criar estroturas pois C++ tal como java é uma linguagem OO (Object-oriented), nas linguagens OO as estroturas sao representadas sobre a forma de Objectos. experimenta este código em C++: #include <stdio.h> typedef struct Integer { int i; Integer(int j) { i = j; } int pow2() { return i*i; } } Integer; int main() { Integer i(3); printf("3^2 = %d\n", i.pow2()); return 0; } onde está a classe ? e ja agora, "estruturas" (ou para alguns "estructuras") Edited October 18, 2012 at 11:48 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pikax Posted October 18, 2012 at 01:22 PM Report #479603 Posted October 18, 2012 at 01:22 PM Em C usas as Estroturas de dados como estas a mostrar, quando passas para c++ deixas de usar estroturas apesar de ser possivel criar estroturas pois C++ tal como java é uma linguagem OO (Object-oriented), nas linguagens OO as estroturas sao representadas sobre a forma de Objectos. Uma estructura em C++ e' uma class com os membros e metodos todos publicos. e ja agora, "estruturas" (ou para alguns "estructuras") Antes do acordo ou depois do acordo ortografico? Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
davide92 Posted October 18, 2012 at 03:04 PM Author Report #479624 Posted October 18, 2012 at 03:04 PM Tentei fazer algo do género mas apareceu-me um erro: import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Agentes { private int id; private String nome; private int numFisc; private float mont_devidos; public void Agentes(int id, String nome, int numFisc, float mont_devidos) { this.id = id; this.nome = nome; this.numFisc = numFisc; this.mont_devidos = mont_devidos; } public static void criar(int id, String nome, int numFisc,float mont_devidos) { List<Agentes> agentes = new ArrayList<Agentes>(); Scanner teclado = new Scanner(System.in); System.out.println("Nome:"); nome = teclado.nextLine(); System.out.println("Numero Fiscal:"); numFisc = teclado.nextInt(); System.out.println("Montante Devido:"); mont_devidos = teclado.nextFloat(); agentes.add(new Agentes(1, nome, numFisc, mont_devidos)); } } deu-me erro no agentes.add(new Agentes(1, nome, numFisc, mont_devidos));
HappyHippyHippo Posted October 18, 2012 at 03:11 PM Report #479627 Posted October 18, 2012 at 03:11 PM e qual a mensagem de erro ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pikax Posted October 18, 2012 at 03:17 PM Report #479630 Posted October 18, 2012 at 03:17 PM nao sei Java, mas o construtor a retornar void??? - Posso estar enganado, mas acho estranho Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
HappyHippyHippo Posted October 18, 2012 at 03:18 PM Report #479631 Posted October 18, 2012 at 03:18 PM nao sei Java, mas o construtor a retornar void??? - Posso estar enganado, mas acho estranho pois, na realidade não deveria ter valor de retorno sequer IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
mundo Posted October 18, 2012 at 05:26 PM Report #479644 Posted October 18, 2012 at 05:26 PM Se retirares o void do construtor, aparentemente corre tudo bem
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now