Jump to content

Classes


AJBM
 Share

Recommended Posts

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? 

Link to comment
Share on other sites

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'};
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
 Share

×
×
  • 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.