qwertyuio:
特別にこの方法を検証する方法
System.out.println("Enter number of vertices");
n=Integer.parseInt(br.readLine());
この。私を助けてください
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:
あなたが使用しているのでint n=Integer.parseInt(br.readLine);
、Integer.parseInt()
常に整数のいずれかにあなたの入力を変換し、整数変数に代入しようとします。あなたはと、それを心配する必要はありませんInteger.parseInt()
方法は、内部でこれを行います。
あなたが投げるとし、NumberFormatException
メソッドのシグネチャであれば、Integer.parseInt()
整数値か、それは整数に変換できないことを何かを得ることはありませんが、NumberFormatException
例外がスローされます。
あなたは番号の入力を与えるのであれば、n
十分に入力して、あなたのプログラムの実行を格納します。あなたは番号(文字が含まれている手段の何か)以外の入力を与えると、コードが例外を与え、実行を終了します。
それを処理するには、内部のコードを置くことができますtry-catch
が、正しく処理するためにブロック。以下のように
try{
System.out.println("Enter number of vertices");
n=Integer.parseInt(br.readLine());
}
catch(NumberFormatException e){
System.out.println("Please enter number only");
}
それとも、いくつかのメソッドは、入力が整数であるかどうかをチェックすることができます。それは、整数、リターンの場合はInteger.parseInt(param)
、他のリターンfalse
。そして、このメソッド内で、ちょうどあなたのコードを入れて(基本的には上記のコードは、適切なreturn文とが存在します)