AJBM Posted March 17, 2012 at 11:36 AM Report #444328 Posted March 17, 2012 at 11:36 AM Boas. Eu estou a dar os primeiros passos em java e tenho que fazer um programa que devolva o nome da cadeira os professores a sigla entre outras coisas. Para isso tenho de criar uma classe Course public class Course { static char [] name; static char [] acrony; static int year; static int semester; static char [] professors; static char [] CourseAssessmen; } E tenho que utilizar o char[] agora na class CourseDemo tenho que devolver o nome ano public class CourseDemo { public static void main(String[] args) { char [] Course.name={'L','i','n','g','u','a','g','e','n','s','P','r','o','g'} } } o meu problema esta em inicializar name?
pedrotuga Posted March 17, 2012 at 11:44 AM Report #444329 Posted March 17, 2012 at 11:44 AM A tua classe serve para encapsular dados, não faz sentido criares atributos estáticos nesse contexto. Remove o static dos atributros. Depois cria um objecto do tipo Course com o operador 'new'. Course curso = new Course(); curso.name={'L','i','n','g','u','a','g','e','n','s','P','r','o','g'};
AJBM Posted March 17, 2012 at 11:50 AM Author Report #444332 Posted March 17, 2012 at 11:50 AM Eu nao posso utilizar isso neste exercicio, o que estas a dizer dei esta semana, o exercicio que tenho de resolver e da semana passada por isso tenho mesmo de fazer assim.
S7sRuss Posted March 17, 2012 at 02:00 PM Report #444345 Posted March 17, 2012 at 02:00 PM Independentemente do problema, o código char [] Course.name={'L','i','n','g','u','a','g','e','n','s','P','r','o','g'} não faz sentido.... Pelos vistos estás a tentar criar um array de chars com o nome "Course.name" e que terá o valor {'L','i','n','g','u','a','g','e','n','s','P','r','o','g'} ? Course.name é uma variável de classe e não pode ser usada como identificador. Talvez estejas a tentar fazer isto: char[] name = Course.name; ? Ou seja, pegar no valor que a classe traz, mas olhando para a classe que tens, não vais obter nada. A resposta do pedrotuga é a única que faz sentido. Talvez devas explicar melhor o que tens de fazer. (Sem erros ortográficos... ex: "tenho que devolver o nome ano" ?) "Lamento... Detectou mais de dez mil ficheiros infectados..."
AJBM Posted March 17, 2012 at 03:00 PM Author Report #444350 Posted March 17, 2012 at 03:00 PM Eu para resolver este exercício só posso utilizar membros de classe logo e preciso o static, não posso utilizar o que o pedrotuga disse objectos. E a minha classe course tem que ser assim pois o meu output tem de ser o nome, semestre, ano, etc referente a 3 cadeiras. por exemplo Nome Linguagens prog Semestre 1 Ano 1 Nome Paradigmas Semestre 2 Ano 1 O meu problema esta exactamente em fazer char [] name = Course.name eu ao fazer isto não vou obter nada. tipo eu declarei as variáveis na classe course agora quero iniciar as variáveis na classe coursedemo?
pedrotuga Posted March 17, 2012 at 04:39 PM Report #444357 Posted March 17, 2012 at 04:39 PM Essas restrições são esquisitas para dizer pouco. Uma vez que só declaraste o array, tens que o inicializar: Course.name = new char[4]; //não podes usar o truque das chavetas sem ser na inicialização Course.name[0] = 'x'; Course.name[1] = 'p'; Course.name[2] = 't'; Course.name[3] = 'o'; Mas não entendo em que medida é que isto é diferente. Usando as chavetas não vez lá o 'new' porque está implicíto.
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