Jump to content

Recommended Posts

Posted

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 ?

Posted (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 by AJBM
Posted

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.

Posted (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 by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Posted

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."

Posted

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));

Posted

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."

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.