如何输入1~2而不是1 2. InputMismatchException
How to input 1~2 instead of 1 2. InputMismatchException
所以我在 Techgig 上解决了这样一个问题:
在那里我必须打印斐波那契数列直到数组中的 10 个位置,前两个输入由用户输入。
我的代码是这样的:
import java.io.*;
import java.util.*;
public class CandidateCode{
public static void main(String args1[]) throws Exception
{
Scanner sc=new Scanner(System.in);
int first=sc.nextInt();
int second=sc.nextInt();
int [] array=new int[10];
array[0]=first;
array[1]=second;
int i;
for(i=2;i<10;i++)
{
array[i]=first+second;
first=array[i-1];
second=array[i];
}
System.out.print("{"+array[0]);
for(i=1;i<10;i++)
{
System.out.print(","+array[i]);
}
System.out.print("}");
}
}
现在示例输入应为 1 2,输出应显示为 {1,2,3,5,8,13,21,34,55,89}
但是他们使用了测试用例作为1~2,编译时的代码给出了InputMismatchException。请提供一种方法来删除此异常
此代码将解决您的问题。
import java.io.*;
import java.util.*;
public class CandidateCode{
public static void main(String args1[]) throws Exception
{
Scanner sc=new Scanner(System.in);
String s=sc.next();
int first=Integer.parseInt(s.substring(0,s.indexOf("~")));
int second=Integer.parseInt(s.substring(s.indexOf("~")+1));
int [] array=new int[10];
array[0]=first;
array[1]=second;
int i;
for(i=2;i<10;i++)
{
array[i]=first+second;
first=array[i-1];
second=array[i];
}
System.out.print("{"+array[0]);
for(i=1;i<10;i++)
{
System.out.print(","+array[i]);
}
System.out.print("}");
}
}
读取格式为 "Num1~Num2" 的输入字符串,然后从该字符串中提取数字。
所以我在 Techgig 上解决了这样一个问题: 在那里我必须打印斐波那契数列直到数组中的 10 个位置,前两个输入由用户输入。
我的代码是这样的:
import java.io.*;
import java.util.*;
public class CandidateCode{
public static void main(String args1[]) throws Exception
{
Scanner sc=new Scanner(System.in);
int first=sc.nextInt();
int second=sc.nextInt();
int [] array=new int[10];
array[0]=first;
array[1]=second;
int i;
for(i=2;i<10;i++)
{
array[i]=first+second;
first=array[i-1];
second=array[i];
}
System.out.print("{"+array[0]);
for(i=1;i<10;i++)
{
System.out.print(","+array[i]);
}
System.out.print("}");
}
}
现在示例输入应为 1 2,输出应显示为 {1,2,3,5,8,13,21,34,55,89}
但是他们使用了测试用例作为1~2,编译时的代码给出了InputMismatchException。请提供一种方法来删除此异常
此代码将解决您的问题。
import java.io.*;
import java.util.*;
public class CandidateCode{
public static void main(String args1[]) throws Exception
{
Scanner sc=new Scanner(System.in);
String s=sc.next();
int first=Integer.parseInt(s.substring(0,s.indexOf("~")));
int second=Integer.parseInt(s.substring(s.indexOf("~")+1));
int [] array=new int[10];
array[0]=first;
array[1]=second;
int i;
for(i=2;i<10;i++)
{
array[i]=first+second;
first=array[i-1];
second=array[i];
}
System.out.print("{"+array[0]);
for(i=1;i<10;i++)
{
System.out.print(","+array[i]);
}
System.out.print("}");
}
}
读取格式为 "Num1~Num2" 的输入字符串,然后从该字符串中提取数字。