Ola, estou utilizando o app Jvdroid que me ajuda quando estou em movimento
Me deparo com erro de classe não encontrado , ja tentei de tudo ,mudar o diretório,compilar só o main, poderiam me ajudar:
Ola, estou utilizando o app Jvdroid que me ajuda quando estou em movimento
Me deparo com erro de classe não encontrado , ja tentei de tudo ,mudar o diretório,compilar só o main, poderiam me ajudar:
Olá, Thiago! Tudo certo?
O erro "Could not find or load main class" geralmente ocorre quando o Java não consegue localizar a classe principal que contém o método main. Vamos tentar resolver isso:
Verifique o pacote: certifique-se de que o arquivo Main.java está no pacote correto. Pelo que vi, ele está dentro do diretório radio, então o arquivo Main.java deve começar com a declaração de pacote package radio;.
Estrutura de diretórios: confirme que a estrutura de diretórios reflete o pacote. No seu caso, o diretório src/main/java/radio deve conter o arquivo Main.java.
Compilação correta: quando compilar, certifique-se de estar no diretório src/main/java e use o comando:
javac radio/Main.java
Caso essas dicas não solucionem o seu problema, peço que compartilhe comigo todo o seu projeto para que eu consiga realizar testes para identificar o problema.
Espero ter ajudado e bons estudos!
Ola Armano tudo bem.Tentei de todas as formas sem sucesso, estarei compartilhando todo o projeto e assim dissecando possamos solucionar e ajudar outros que venham a utilizar essa ferramenta mobile.
package radio;
public class Audio {
private String titulo;
private int totalReproducoes;
private int totalCurtidas;
private int classificacao;
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public int getTotalReproducoes() {
return totalReproducoes;
}
public int getTotalCurtidas() {
return totalCurtidas;
}
public abstract double getClassificacao();
public void curte(){
this.totalCurtidas++;
}
public void reproduz(){
this.totalReproducoes++;
}
}
package radio;
public class MinhasPreferidas {
public void inclui(Audio audio) {
if(audio.getClassificacao() >= 9) {
System.out.println(audio.getTitulo() + " é considerado sucesso absoluto" +
" e preferido por todos!");
} else {
System.out.println(audio.getTitulo() + " também é um dos que todo mundo está " +
"curtindo");
}
}
}
package radio;
public class Musica extends Audio {
private String album;
private String cantor;
private String genero;
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getCantor() {
return cantor;
}
public void setCantor(String cantor) {
this.cantor = cantor;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
@Override
public double getClassificacao() {
if(this.getTotalReproducoes() >= 1000) {
return 10;
} else {
return 7;
}
}
}
package radio;
public class Podcast extends Audio {
private String apresentador;
private String descricao;
public String getApresentador() {
return apresentador;
}
public void setApresentador(String apresentador) {
this.apresentador = apresentador;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Override
public double getClassificacao() {
if(this.getTotalCurtidas() >= 400){
return 10;
} else {
return 8;
}
}
}
package radio;
import radio.Audio;
import radio.MinhasPreferidas;
import radio.Musica;
import radio.Podcast;
//Classe Main
public class Main {
public static void main(String[] args) {
//new-Criação Objeto Música
Musica minecraft = new Musica();
minecraft.setTitulo("418 Moog City");//Título
minecraft.setCantor("Minecraft");//Cantor
minecraft.setAlbum("Java");//Álbum
minecraft.setGenero("Chiptune");//Gênero
/*------LOOPS----- */
//Loop Reprodução
for (int i = 0; i < 1000; i++){
minecraft.reproduz();
}
//Loop Curtidas
for (int i = 0; i < 50; i++) {
minecraft.curte();
}
//new-Criação Objeto Podcast
Podcast arquibancada = new Podcast();
arquibancada.setTitulo("Arquibancada Tricolor");
arquibancada.setApresentador("Sombra,Marcão, Daniel Perrone, Renata Saporito, Ricardo Sena");
arquibancada.setDescricao("Tudo o que acontece no São Paulo Futebol Clube");
/*------LOOPS----- */
//Loop Reprodução
for (int i = 0; i < 500; i++){
arquibancada.reproduz();
}
//Loop Curtidas
for (int i = 0; i < 400; i++) {
arquibancada.curte();
}
//new-Criação Objeto Minhas Preferidas
MinhasPreferidas minhasPreferidas = new MinhasPreferidas();
minhasPreferidas.inclui(minecraft);//Música
minhasPreferidas.inclui(arquibancada);//Podcast
}
}
Segue screenshot do diretorio onde executo os projetos Java no meu dispositivo!
Oi, Thiago! Perdão pela demora em responder.
O problema não está no código em si, mas na forma como você está compilando/executando com pacote (package radio;). Você declarou todas as classes dentro do pacote radio, então o Java NÃO vai encontrar a classe Main se você rodar como java Main.
Resolva fazendo o seguinte:
Vá para a pasta onde estão os arquivos .java (a pasta Radio que você mostrou).
Compile respeitando o pacote:
javac -d . *.java
Execute usando o nome completo da classe (com pacote):
java radio.Main
Ponto MUITO importante no seu código (vai dar erro depois):
Sua classe Audio tem método abstrato, então ela precisa ser classe abstrata também.
Ajuste assim:
public abstract class Audio {
Resumo direto do problema:
Se no Jvdroid ainda falhar, me diga exatamente qual comando você está usando lá que te ajusto específico para mobile.
Fico à disposição!