GOOGLE ADS

martes, 26 de abril de 2022

El método de llamada Java falla como método indefinido [duplicado]

Esta pregunta ya tiene respuestas aquí:


Solución del problema

public class Test 
{
public static void main(String[] args)
{
System.out.println(countFileRecords());
}

Llamar al método de esa manera (usando solo el nombre del método para llamarlo) no compilará, puede dentro de un método estático llamar a otro método estático en la misma clase, o un método estático importado declarado en otra clase.

Por lo tanto, debe hacer que el método countFileRecords sea estático en la declaración (agregando la palabra clave estática) y luego importar usando import static para poder llamarlo directamente usando solo el nombre del método:

package com;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static int countFileRecords()
{
Scanner in=null;
try {
in = new Scanner(new FileInputStream("src/data/VinylRecords.txt"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int lines = -1;
while (in.hasNextLine()) // loop while there is a new line
{
lines += 1; // add one to my counter
in.nextLine();
} // move to the next line and loop again
return lines;
}
}

package com;
import static com.Main.countFileRecords;
public class Test {
public static void main(String[] args) {
System.out.println(countFileRecords());
}
}

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...