有时候,会出现错误如下:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at day01.StringBuilderDemo.main(StringBuilderDemo.java:66)
代码如下,这是为什么呢?
(这只是一个字符串编辑的简单程序)
package day01;
import java.util.Scanner;
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder builder=new StringBuilder();
builder.append("我要飞得更高,飞得更高啊,翅膀卷起风暴,新生呼啸," +
"飞得更高");
print(builder);
System.out.println("1.添加文件内容\n2.修改文件内容\n3.删除文件内容\n4." +
"插入文件内容\n5(其他数字).退出");
Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
while(true){
switch(num){
case 1:{
System.out.print("请输入增加的内容:");
String append=scan.next();
builder.append(append);
System.out.println("修改后效果,如下");
print(builder);
break;
}
case 2:{
System.out.print("请输入修改内容的起始位置:");
int i=scan.nextInt();
System.out.print("请输入修改内容的终止位置:");
int j=scan.nextInt();
System.out.print("请输入修改内容:");
String replace=scan.next();
builder.replace(i,j,replace);
System.out.println("修改后效果,如下");
print(builder);
break;
}
case 3:{
System.out.print("请输入删除内容的起始位置:");
int i=scan.nextInt();
System.out.print("请输入删除内容的终止位置:");
int j=scan.nextInt();
builder.delete(i,j);
System.out.println("修改后效果,如下");
print(builder);
break;
}
case 4:{
System.out.print("请输入插入内容的起始位置:");
int i=scan.nextInt();
System.out.print("请输入修改内容:");
String insert=scan.next();
builder.insert(i,insert);
System.out.println("修改后效果,如下");
print(builder);
break;
}
default:{
System.exit(1);
}
}
System.out.println("1.添加文件内容\n2.修改文件内容\n3.删除文件内容\n4." +
"插入文件内容\n5(其他数字).退出");
num=scan.nextInt();
}
}
public static void print(StringBuilder builder){
String str=builder.toString();
char[] a=str.toCharArray();
for(int i=0;i<a.length;i++){
System.out.print("("+i+")"+a[i]);
if(i%10==0&&i!=0){
System.out.println();
}
}
System.out.println();
}
}
------解决思路----------------------
看什么问题,具体问题具体分析,解决。
楼主不要被问题吓住了,遇到了,分析,看哪里的问题,然后解决