Alguém sabe o que quer dizer essa exceção?
Exception in thread “main” java.lang.NoSuchMethodError: main
Foi o que apareceu quando submeti meu problema em um site.
Alguém sabe o que quer dizer essa exceção?
Exception in thread “main” java.lang.NoSuchMethodError: main
Foi o que apareceu quando submeti meu problema em um site.
A declaração correta do método main é:
public static void main(String[] args) {
Para lembrar que é "public static void main (String[] args)" você pode inventar uma decoreba qualquer com as primeiras letras - "psvmsa" -> "Pedro Sales e Virginia Maria se amam" ou coisa parecida.
Isso quer dizer que a JVM tentou executar o método main da sua classe, mas que não o encontrou. Verifique a assinatura do método:
public static void main( String [] args ){
}
http://www.guj.com.br/posts/list/63.java
Abraços!!!
Mas se eu coloco “public static void main (String[] args)” o netbeans sublinha todo o corpo do meu método main de vermelho e dá o seguinte recado: non-static variable N cannot be referenced from a static context.
Foi por isso que eu tirei o static.
é pq sua variável N não é estática !!!
Usualmente você faz algo parecido com o seguinte:
classe Teste {
int x;
int y;
public Teste() {
x = 2; y = 3;
}
public void processar() {
System.out.println ("x = " + x + ", y = " + y);
}
public static void main(String[] args) {
Teste t = new Teste();
t.processar();
}
}
onde você instancia um objeto do tipo da sua classe, no método “main”, e então chama um dos métodos.
Aham, não fique usando variáveis estáticas a torto e a direito só para corrigir erros de compilação. O indicado é instanciar um objeto da sua classe, como expliquei acima.
E como que eu faço pra ela ser estática??
Esse é o iniciozinho do problema:
import java.util.Scanner;
class Main {
Scanner entrada = new Scanner (System.in);
int N = entrada.nextInt();
int M = entrada.nextInt();
int [][] mapa = new int [N][M];
int [] soma_linha = new int [N];
int [] soma_coluna = new int [M];
public static void main(String[] args) {
if (1 <= N && N <= 100 && 1 <= M && M <= 100){
for (int i = 0; i<N; i++){
for (int j = 0; j<M; j++){
mapa[i][j] = entrada.nextInt();
}
}
Consegui!!!
Agora só falta encaixar a saída com o println…
Alguém pode me ajudar?