¿Cómo lo principal método de validación

qwertyuio:

Cómo validar este método especialmente

    System.out.println("Enter number of vertices");
    n=Integer.parseInt(br.readLine());

esta. por favor, ayúdame

public static void main(String[] args) throws NumberFormatException, IOException {

    BufferedReader br = new BufferedReader ( new InputStreamReader (System.in));

    System.out.println("Enter number of vertices");
    n=Integer.parseInt(br.readLine());

    graph2 g = new graph2(n);
    g.createGraph();

    System.out.println("\nEnter the source node:");
    int s = g.getNumber();
    System.out.println("\nEnter the target node:");
    int t = g.getNumber();
    long start = System.currentTimeMillis();
      algomain2 ff = new  algomain2(g,s,t);

    System.out.println("\nFinal Residual Network with no augmenting path");

    System.out.print("\nCapacity Flow matrix for your graph is :\n");
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        System.out.print("     "+ff.f[i][j]+"/"+g.cf[i][j]);
        System.out.print("\n");
    }

    int maxflow=0;
    long end = System.currentTimeMillis();
    System.out.println("\n Max flow is: ");
    for(int i=1; i<=n;i++)
        if(g.adj[s][i]==1)
            maxflow=maxflow + ff.f[s][i];

    System.out.println(maxflow);
    System.out.println("Time taken (ms):"+ (end-start));

}
S.MANDAL:

Dado que está utilizando int n=Integer.parseInt(br.readLine);, Integer.parseInt()siempre trata de convertir su entrada para el número entero, y asignar a la variable de número entero. Usted no tiene que preocuparse por ello, como Integer.parseInt()método no hace internamente esto.

Y lo que se tira NumberFormatExceptionen la firma del método, si Integer.parseInt()no obtiene el valor entero o algo que no se puede convertir a entero, el NumberFormatExceptionserá lanzada una excepción.

Por lo tanto, si se le da ingreso de números, nalmacenará la entrada y se programa también se ejecuta. Si se le da entrada excepto el número (medio algo que contiene caracteres), el código dará excepción y terminar la ejecución.

Para manejarlo, usted puede poner su código dentro try-catchdel bloque para que sea adecuadamente manejar. Como abajo

try{

    System.out.println("Enter number of vertices");
    n=Integer.parseInt(br.readLine());
}
catch(NumberFormatException e){

    System.out.println("Please enter number only");
}

O puede presentar algún método para comprobar si la entrada es entero o no. Si es entero, el retorno Integer.parseInt(param), la devolución otra cosa false. Y dentro de este método, sólo hay que poner el código (básicamente el fragmento de código anterior estará allí con instrucción de retorno adecuada)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=365900&siteId=1
Recomendado
Clasificación