• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

Problema, onde?

20 mensagens neste tópico

Boas pessoal, tenho andado a esforçar-me por aprender Java, e ao seguir um tutorial (http://www.t2ti.com/java_starter/modulos/Java_Basico_Modulo_04.pdf), o meu programa ficou com uns erritos que eu não consigo de maneira nenhuma corrigir...  :eek:

package carrocorridas;

public class Main {
               class Piloto {
                private String nome;
                private Integer habilidade;
                private Integer idade;
                
                public String getNome() {
                    return nome;
                }
                public void setNome(String nome) {
                    this.nome = nome;
                }
                public Integer getHabilidade() {
                    return habilidade;
                }
                public void setHabilidade(Integer habilidade) {
                    this.habilidade = habilidade;
                }
                public Integer getIdade() {
                    return idade;
                }
                public void setIdade(Integer idade) {
                    this.idade = idade;
                }
}

        
                class Carro {
                    //Características do carro
                   private Integer nrCarro; //Nome do arquivo de imagem
                   private Double velocidadeActual = 0.0; //Nome da pessoa
                   private Double velocidadeMaxima = 100.0; //Codigo deste documento
                   private Piloto piloto; //Data de nascimento
                    
                    //Ligar o carro
                    void ligar(){
                        System.out.println("Vrmmmmm...");
                    }
                    
                    //Desligar o carro
                    void desligar(){
                        System.out.println("Mmmmm....");
                    }
                    
                    //Acelerar
                    void acelerar(){
                        velocidadeActual += 10 + piloto.habilidade*0.1;
                        if(velocidadeActual > velocidadeMaxima){
                            velocidadeActual = velocidadeMaxima;
                        }
                    }

                    //Travar
                    void travar(Integer intensidadeTravada){
                        if(intensidadeTravada > 100){
                            intensidadeTravada = 100;
                        }else if(intensidadeTravada < 0){
                            intensidadeTravada = 0;
                        }
                    velocidadeActual -= intensidadeTravada*0.25;
                        if(velocidadeActual < 0){
                            velocidadeActual = 0.0;
                        }
                    }
                    
                   
                    public Integer getnrCarro() {
                        return nrCarro;
                    }
                    public void setnrCarro(Integer nrCarro) {
                        this.nrCarro = nrCarro;
                    }
                    public Piloto getPiloto() {
                        return piloto;
                    }
                    public void setPiloto(Piloto piloto) {
                        this.piloto = piloto;
                    }
                    public Double getVelocidadeActual() {
                        return velocidadeActual;
                    }
                   
                    public Carro(Integer nrCarro, Double velocidadeActual) {
                        this.nrCarro = nrCarro;
                        this.velocidadeActual = velocidadeActual;
                    }                     
                
                }

                class Corrida {
                    public static void main(String[] args) {
                    //Criacao dos carros que irao correr
                    Carro carroEquipeVelocidade = new Carro(100.0);
                    Carro carroEquipeTrapaceiros = new Carro(100.0);
                    //Criacao dos pilotos de cada equipe
                    Piloto pilotoEquipeVelocidade = new Piloto();
                    Piloto pilotoEquipeTrapaceiros = new Piloto();
                    //Atributos do piloto da equipe Velocidade
                    pilotoEquipeVelocidade.setNome("Piloto 1");
                    pilotoEquipeVelocidade.setIdade(25);
                    pilotoEquipeVelocidade.setHabilidade(75);
                    //Atributos do piloto da equipe Trapaceiros
                    pilotoEquipeTrapaceiros.setNome("Piloto 2");
                    pilotoEquipeTrapaceiros.setIdade(27);
                    pilotoEquipeTrapaceiros.setHabilidade(65);
                    //Os pilotos sao colocados nos seus carros
                    carroEquipeVelocidade.setPiloto(pilotoEquipeVelocidade);
                    carroEquipeTrapaceiros.setPiloto(pilotoEquipeTrapaceiros);
                    //Identificao dos carros
                    carroEquipeVelocidade.setnrCarro(1);
                    carroEquipeTrapaceiros.setnrCarro(2);
                    //Carros sao ligados
                    carroEquipeVelocidade.ligar();
                    carroEquipeTrapaceiros.ligar();
                    //Inicia a corrida
                    carroEquipeVelocidade.acelerar();
                    carroEquipeTrapaceiros.acelerar();
                    carroEquipeVelocidade.acelerar();
                    carroEquipeTrapaceiros.acelerar();
                    carroEquipeVelocidade.acelerar();
                    carroEquipeTrapaceiros.acelerar();
                    }
                }
         }       

O melhor é copiarem isto para o vosso Netbeans ou o que usem para poderem ver os erros, pois eu nem os consigo explicar  :dontgetit:

Cumps and ty

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é tudo o mesmo ficheiro? Se sim, porquê?

Já agora estás a aprender Java ou a aprender POO com Java, é que não se aprende Java sem se aprender POO, só dá asneira :P

Se isso for apenas um ficheiro esse código está cheio de violações de sintaxe.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é tudo o mesmo ficheiro? Se sim, porquê?

Já agora estás a aprender Java ou a aprender POO com Java, é que não se aprende Java sem se aprender POO, só dá asneira :P

Se isso for apenas um ficheiro esse código está cheio de violações de sintaxe.

É tudo o mesmo ficheiro porque eu estou a seguir-me mais ou menos pelo tutorial, nem sei como fazer referência a outros ficheiros :P

Depende, então como me aconselhas? Eu tou a seguir-me pelos tutoriais do site por ordem :P

Então como os posso corrigir?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na classe corrida estás a tentar instanciar um carro usando um construtor que receba um double, mas a classe Carro não tem um construtor  assim. Depois, classes internas não podem ter métodos estáticos como estás a tentar fazer.

Além disso, estás a aceder a atributos que são privados directamente, o que não é possível nem correcto. Devias usar os métodos de acesso, se os tens.

Passa isso para ficheiros separados, em Java, cada classe tem direito ao seu próprio ficheiro, apenas são excepção as classes anónimas e as classes internas, mas que mesmo assim vão gerar um ficheiro separado. Só em situações muito específicas é que irás usar este tipo de classes, e será algo que no início não será normal, pelo que isso tem de passar tudo a 3 ficheiros.

Não sei que tipo de referência queres fazer, acho que te estão a falhar algumas bases. Para acederes a classes diferentes elas precisam ser visíveis à classe onde queres aceder, se as classes pertencerem ao mesmo package então são visíveis às suas vizinhas, classes que pertençam ao mesmo package, sem precisares de fazer mais nada, se não pertencerem então só tens de importar as classes que queres usar.

import <package.class>

import java.util.Calendar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ora bem, pus a classe Piloto num novo ficheiro, a classe Carro noutro ficheiro, e a classe Corrida deixei estar.

Erros:

Piloto.java -> Sem erros.

Carro.java -> No "void acelerar" havia um erro com a habilidade porque tinha acesso privado, mas já alterei para público.

Main.java ->

public static void main(String[] args) {

  erro aqui, como tu disses-te as classes internas não podem ter métodos estáticos, mas então como corrijo isto? Se reparares no fim do tutorial está isto assim...

Outro erro neste ficheiro:

                    //Criacao dos carros que irao correr
                    Carro carroEquipeVelocidade = new Carro(100.0);
                    Carro carroEquipeTrapaceiros = new Carro(100.0);

Em "

Carro(100.0);

" aparece: cannot find symbol


Gostava mesmo que me pudesses ajudar a resolver isto :P

Ty

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ora bem, pus a classe Piloto num novo ficheiro, a classe Carro noutro ficheiro, e a classe Corrida deixei estar.

Então deixaste mal, porque essa classe possui um método estático que não pode ser colocado dentro de classes internas, e essa é uma classe interna da classe Main, logo, ou  a classe Main é apagada, e crias um ficheiro para a classe Corrida, ou removes a classe corrida e passas o código para dentro da classe Main.

Carro.java -> No "void acelerar" havia um erro com a habilidade porque tinha acesso privado, mas já alterei para público.

Então alteraste mal! Se a variável era privada tinha uma razão de ser. Se queres aceder ao valor do atributo então usa o método de acesso.

Outro erro neste ficheiro: (...)

Cria um construtor que receba um double na classe Carro!

Ainda não tive oportunidade de ver o tutorial, vou ver depois de jantar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então deixaste mal, porque essa classe possui um método estático que não pode ser colocado dentro de classes internas, e essa é uma classe interna da classe Main, logo, ou  a classe Main é apagada, e crias um ficheiro para a classe Corrida, ou removes a classe corrida e passas o código para dentro da classe Main.

Então alteraste mal! Se a variável era privada tinha uma razão de ser. Se queres aceder ao valor do atributo então usa o método de acesso.

Cria um construtor que receba um double na classe Carro!

Ainda não tive oportunidade de ver o tutorial, vou ver depois de jantar.

Ora olá outra vez :P

Segui o teu conselho e pus a Corrida em vez de Main, renomeando e fazendo tudo, ficando assim a (ex-)Main:

package carrocorridas;

public class Corrida {
                    public static void main(String[] args) {
                    //Criacao dos carros que irao correr
                    Carro carroEquipeVelocidade = new Carro(100.0);
                    Carro carroEquipeTrapaceiros = new Carro(100.0);
                    //Criacao dos pilotos de cada equipe
                    Piloto pilotoEquipeVelocidade = new Piloto();
                    Piloto pilotoEquipeTrapaceiros = new Piloto();
                    //Atributos do piloto da equipe Velocidade
                    pilotoEquipeVelocidade.setNome("Piloto 1");
                    pilotoEquipeVelocidade.setIdade(25);
                    pilotoEquipeVelocidade.setHabilidade(75);
                    //Atributos do piloto da equipe Trapaceiros
                    pilotoEquipeTrapaceiros.setNome("Piloto 2");
                    pilotoEquipeTrapaceiros.setIdade(27);
                    pilotoEquipeTrapaceiros.setHabilidade(65);
                    //Os pilotos sao colocados nos seus carros
                    carroEquipeVelocidade.setPiloto(pilotoEquipeVelocidade);
                    carroEquipeTrapaceiros.setPiloto(pilotoEquipeTrapaceiros);
                    //Identificao dos carros
                    carroEquipeVelocidade.setnrCarro(1);
                    carroEquipeTrapaceiros.setnrCarro(2);
                    //Carros sao ligados
                    carroEquipeVelocidade.ligar();
                    carroEquipeTrapaceiros.ligar();
                    //Inicia a corrida
                    carroEquipeVelocidade.acelerar();
                    carroEquipeTrapaceiros.acelerar();
                    carroEquipeVelocidade.acelerar();
                    carroEquipeTrapaceiros.acelerar();
                    carroEquipeVelocidade.acelerar();
                    carroEquipeTrapaceiros.acelerar();
                    }
                
         }        

Agora já percebi o que me querias dizer em relação a isto :P

Agora vou ver essa parte do método de acesso... a ver consigo fazer algo disso :P

Ty

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom, tive a analisar bem o código, e, acho que este excerto a seguir é aquilo que faz com que o meu "Carro(100.0);" (no Corrida.java) não funcione, porque pede o Integer nrCarro antes.

                    public Carro(Integer nrCarro, Double velocidadeActual) {
                        this.nrCarro = nrCarro;
                        this.velocidadeActual = velocidadeActual;
                    }            

Este código que se encontra na classe Carro.

Achas que tire o Integer nrCarro do código para que funcione ou tens alguma solução para remediar? (sem ser por ex.: "Carro(1,100.0);" assim declarava o nrCarro aqui, mas eu não quero declará-lo aqui)

E outra coisa, como acesso um elemento que está definido como privado? Imagina que quero ver a velocidade actual do carro...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não queres passar o inteiro no construtor tens de ter um construtor que não receba esse valor.

Podes ter quantos construtores quiseres desde que tenham assinaturas diferentes, assim, se queres criar um carro e não dar o número dele, podes criar um construtor que receba apenas um double:

public Carro(double velocidade) {
    //codigo
}

Para acederes a um atributo privado usas, tal como disse antes, os métodos de acesso. Porque é que achas que a classe Piloto tem métodos como:

public void setNome(String nome) {
    this.nome = nome;
}

public Integer getHabilidade() {
    return habilidade;
}

public void setHabilidade(Integer habilidade) {
    this.habilidade = habilidade;
}

Estes métodos, começados por get e set, são métodos de acesso, servem para encapsular os atributos. Embora o exemplo seja demasiado simples, estes métodos permitem aceder aos atributos sem os estragar porque neles é colocado código para validar os valores passados, ou o valor devolvido. O nome dos métodos pode ser qualquer mas por convenção é usado get<NomeDoAtributo> para métodos de leitura, e set<NomeDoAtributo> para métodos de escrita.

Um exemplo, pegando no método do Piloto:

public void setNome(String nome) {
    if(nome != null && !nome.isEmpty()) {
        this.nome = nome;
    }
}

Com este método não é possível colocar o nome do piloto para um valor vazio, isto é, faz sentido que um piloto, quando existe, tenha sempre um nome válido, assim fazemos com que o nome do piloto seja válido. Claro que não estou a contemplar outros acessos onde se pode estragar a variável, é um exemplo apenas e é simples.

Assim, se quiseres ver a velocidade actual do carro só terás de aceder ao método getVelocidadeActual().

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm okay. Ja tinha pensado nisso, e por um parêntesis a mais tinha.me dado um erro, mas já funciona.

Agora na classe corrida pus a cada vez que um carro acelerasse aparecesse o nome do piloto e a sua velocidade actual. O problema é que a velocidade actual dá.me sempre 100.0km/h, mesmo que o carro tenha acabado de arrancar.. :/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma qualquer erro no código, só vendo para saber, mas provavelmente não estás a incrementar a variável correctamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok ok, eu quando chegar a casa posto o código, é que tou a falar do telemovel.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

EM CASA

Bom, já cheguei.

Vou por aqui o código de todas as classes para que percebas melhor.

Já agora, tentei criar um certo sistema para verificar quem chegou primeiro, isto é, continuar a acelerar até que a distância percorrida por um dos carros seja 0. Mas sem sucesso. Se me puderes dar uma ajuda nessa parte agradecia.

Carro.java (com erros)

package carrocorridas;

/**
*
* @author Ivo
*/
public class Carro {
    
//Características do carro
    private Integer nrCarro; //Nome do arquivo de imagem
    private Double velocidadeActual = 0.0; //Nome da pessoa
    private Double velocidadeMaxima = 100.0; //Codigo deste documento
    private Piloto piloto; //Data de nascimento
    private Distancia distancia; //Distância do circuito
                    
    //Ligar o carro
    void ligar(){
        System.out.println("Vrmmmmm...");
    }
                    
    //Desligar o carro
    void desligar(){
        System.out.println("Mmmmm....");
    }

    //Acelerar
    void acelerar(){
        velocidadeActual += 10 + piloto.habilidade*0.1;
        distancia -= velocidadeActual/10;
        if(velocidadeActual > velocidadeMaxima){
            velocidadeActual = velocidadeMaxima;
        }
    }

    //Travar
    void travar(Integer intensidadeTravada){
        if(intensidadeTravada > 100){
            intensidadeTravada = 100;
        }else if(intensidadeTravada < 0){
            intensidadeTravada = 0;
        }
        velocidadeActual -= intensidadeTravada*0.25;
        if(velocidadeActual < 0){
            velocidadeActual = 0.0;
        }
    }
                   
    public Integer getnrCarro() {
        return nrCarro;
    }

    public void setnrCarro(Integer nrCarro) {
        this.nrCarro = nrCarro;
    }

    public Piloto getPiloto() {
        return piloto;
    }

    public void setPiloto(Piloto piloto) {
        this.piloto = piloto;
    }

    public Double getVelocidadeActual() {
        return velocidadeActual;
    }
                   
    public Carro(Double velocidadeActual) {
        this.velocidadeActual = velocidadeActual;
    }                     
                    
    public Double getDistancia(){
        return distancia;
    }
}

Corrida.java

package carrocorridas;
import javax.swing.JOptionPane;

public class Corrida {
    
    public static void main(String[] args) {
        
        //Criacao dos carros que irao correr
        Carro Ferrari = new Carro(100.0);
        Carro BMW = new Carro(100.0);
        //Criacao dos pilotos de cada equipe
        Piloto piloto1 = new Piloto();
        Piloto piloto2 = new Piloto();
        //Distâncias
        Distancia distancia1 = new Distancia();
        Distancia distancia2 = new Distancia();
        //Atributos do piloto da equipe Velocidade
        piloto1.setNome("Michael Schumacher");
        piloto1.setIdade(34);
        piloto1.setHabilidade(82);
        //Atributos do piloto da equipe Trapaceiros
        piloto2.setNome("Ti Nandinho");
        piloto2.setIdade(42);
        piloto2.setHabilidade(75);
        //Os pilotos sao colocados nos seus carros
        Ferrari.setPiloto(piloto1);
        BMW.setPiloto(piloto2);
        //Identificao dos carros
        Ferrari.setnrCarro(1);
        BMW.setnrCarro(2);
        //Carros sao ligados
        Ferrari.ligar();
        BMW.ligar();
        //Inicia a corrida
        Ferrari.acelerar();
        BMW.acelerar();
        JOptionPane.showMessageDialog(null, "A velocidade de " + BMW.getPiloto().getNome() 
                    + " é de " + BMW.getVelocidadeActual() + "km/h\nFaltam: " + BMW.getDistancia() + "km");

        JOptionPane.showMessageDialog(null, "A velocidade de " + Ferrari.getPiloto().getNome() 
                    + " é de " + Ferrari.getVelocidadeActual() + "km/h\nFaltam: " + Ferrari.getDistancia() + "km");

        Ferrari.acelerar();
        BMW.acelerar();
        JOptionPane.showMessageDialog(null, "A velocidade de " + BMW.getPiloto().getNome() + " é de " 
                    + BMW.getVelocidadeActual() + "km/h\nFaltam: " + BMW.getDistancia() + "km");

        JOptionPane.showMessageDialog(null, "A velocidade de " + Ferrari.getPiloto().getNome() 
                    + " é de " + Ferrari.getVelocidadeActual() + "km/h\nFaltam: " + Ferrari.getDistancia() + "km");
    
        Ferrari.acelerar();
        BMW.acelerar();
        JOptionPane.showMessageDialog(null, "A velocidade de " + BMW.getPiloto().getNome() 
                    + " é de " + BMW.getVelocidadeActual() + "km/h\nFaltam: " + BMW.getDistancia() + "km");

        JOptionPane.showMessageDialog(null, "A velocidade de " + Ferrari.getPiloto().getNome() + " é de " 
                    + Ferrari.getVelocidadeActual() + "km/h\nFaltam: " +         Ferrari.getDistancia() + "km");

        Ferrari.desligar();
        BMW.desligar();
    }
}        

Distancia.java

package carrocorridas;

/**
*
* @author Ivo
*/
public class Distancia {

    private Double distancia = 500.0;
   
    public double getDistancia(){
        return distancia;
    }
        
    public void setDistancia(Double distancia){
        this.distancia = distancia;
    }
}

Piloto.java

package carrocorridas;

/**
*
* @author Ivo
*/
public class Piloto {

    private String nome;
    public Integer habilidade;
    private Integer idade;
     
    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Integer getHabilidade() {
        return habilidade;
    }

    public void setHabilidade(Integer habilidade) {
        this.habilidade = habilidade;
    }
    
    public Integer getIdade() {
        return idade;
    }

    public void setIdade(Integer idade) {
        this.idade = idade;
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A distância é um objecto, consegues somar e subtrair objectos? Onde é que viste isso?

Se queres usar o atributo para indicar a distância, ou passar a tipo primitivo, ou crias métodos para diminuir a distância.

Como ainda não vi esse tutorial vou passar os olhos por ele agora, entretanto podes também ver o tutorial que está na wiki do p@p, pode ser que te ajude um pouco, http://wiki.portugal-a-programar.org/java:tutorial_java

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu cheguei a ter a "distancia" a funcionar, mas se reparares fica uma única distância a ser feita pelos dois carros, e eu queria verificar, partindo do ponto de partida que partiam os dois do mesmo (duas variáveis de distância diferentes digo eu), para verificar qual o primeiro a acabar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo que vejo nesse código não estás a atribuir as instâncias das variáveis aos carros e não estás a fazer qualquer conta com os valores das variáveis, para todos os efeitos a distância não é usada em lado nenhum.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É sim. Repara que eu usei o getDistancia() que vai retornar o valor "distancia".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ora bem, isso não compila pois não?

Começando pela distância:

  • primeiro bastava uma variável do tipo primitivo double e não um objecto que encapsula outro objecto que por sua vez encapsula um double, como é o caso da classe Distancia que contém um atributo da classe Double que por sua vez possuí um atributo do tipo primitivo double;
  • segundo, esta linha, distancia -= velocidadeActual/10;, não pode compilar porque estás a tentar incrementar um objecto. Só podes aplicar esses operadores, +,-,*,/, etc., a tipos primitivos e a wrappers de tipos primitivos, como são o caso das classes Double, Integer, Character, etc.. Boxing e Unboxing funciona apenas para classes wrappers;
  • terceiro, o método getDistancia está definido como devolvendo um objecto do tipo Double, mas a distancia está declarada como sendo um objecto do tipo Distancia. São tipos diferentes e incompatíveis, logo esse código está errado.
  • quarto, a variável distancia na classe Carro nunca é instanciada, um objecto que não é instanciado não possui espaço de memória reservado pelo que um acesso de escrita a esse atributo iria resultar no lançamento de uma excepção. Terias de instanciar a variável, ex: distancia = new Distancia().
    Depois de corrigires os erros acima, é possível que esse código faça o que pretendes.
    Umas notas, tomei a liberdade de corrigir a tua indentação no tópico onde colocaste o código das 3 classes porque estava complicado de ler, tem atenção ao tamanho das linhas de código, embora existam monitores grandes, a regra de +/- 80 caracteres por linha, ainda é uma boa regra. O nome das variáveis começa sempre por minúscula. Quando as variáveis possuem nomes compostos, a primeira letra de cada nome é  tornada maiúscula, o mesmo se aplica a nomes de métodos, assim o método getnrCarro, passaria a chamar-se getNrCarro. Esta é uma característica importante da linguagem, algumas tecnologias esperam nomes correctos para o métodos de acesso e não vão funcionar com nomes desses.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm okay. À tarde vejo isso.

Thanks :P pela paciencia e pelo trabalho :P

EDIT: o que tu disses-te dos 80caracteres por linha é tipo um if todo seguido?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

EDIT: o que tu disses-te dos 80caracteres por linha é tipo um if todo seguido?

Não, é qualquer linha que seja extremamente longa, no teu código indentei a linhas que mostravam as mensagens para que não ficassem muito grandes.

80 é um valor de referência, era o valor de colunas das consolas e alguns editores não aceitam mais que isso, embora actualmente seja difícil encontrar alguma ferramenta que se queixe de colunas a mais. É um valor mais histórico que outra coisa, mas não deixa de ser um valor que pode ser usado como referência e a maioria dos editores actuais permitem mostrar uma linha vertical que te indica onde deves cortar a linha.

Embora não sejas obrigado, convém não fazeres as linhas crescerem muito. Há quem goste mais de ver uma linha enorme, mas as recomendações do Java vão no sentido contrário. Pessoalmente também acho que linhas muito grandes são um incómodo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora