java中 输入字符串怎么给String数组赋值
importjava.util.Scanner;publicclassFileFilter{publicstaticvoidmain(String[]args){Scan...
import java.util.Scanner;
public class FileFilter{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String[] filenames=new String[2];
int i=0;
for(i=0;i<filenames.length;i++){
System.out.println("please input the string");
String text=scanner.next();
filenames[i]=text;}
System.out.println("output the filterfile:");
if(filenames[i].endsWith("jpg")){
System.out.println(filenames[i]);
}
}
}
这样做为什么不行呢 展开
public class FileFilter{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String[] filenames=new String[2];
int i=0;
for(i=0;i<filenames.length;i++){
System.out.println("please input the string");
String text=scanner.next();
filenames[i]=text;}
System.out.println("output the filterfile:");
if(filenames[i].endsWith("jpg")){
System.out.println(filenames[i]);
}
}
}
这样做为什么不行呢 展开
展开全部
不是不能赋值,是笑御最碰孙岩后
if(filenames[i].endsWith("jpg")){
System.out.println(filenames[i]);
这个时候的i=2,已凯判经超过filenames数组的范围,所以报异常
如
import java.util.Scanner;
public class Ccc {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] filenames = new String[2];
for (int i = 0; i < filenames.length; i++) {
System.out.println("please input the string");
String text = scanner.next();
filenames[i] = text;
}
System.out.println("output the filterfile:");
for (int i = 0; i < filenames.length; i++) {
if (filenames[i].endsWith("jpg")) {
System.out.println(filenames[i]);
}
}
}
}
if(filenames[i].endsWith("jpg")){
System.out.println(filenames[i]);
这个时候的i=2,已凯判经超过filenames数组的范围,所以报异常
如
import java.util.Scanner;
public class Ccc {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] filenames = new String[2];
for (int i = 0; i < filenames.length; i++) {
System.out.println("please input the string");
String text = scanner.next();
filenames[i] = text;
}
System.out.println("output the filterfile:");
for (int i = 0; i < filenames.length; i++) {
if (filenames[i].endsWith("jpg")) {
System.out.println(filenames[i]);
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.Scanner;
public class Test{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String[] filenames=new String[2];
int i=0;
for(i=0;i<filenames.length;i++){
System.out.println("please input the string");
String text=scanner.next();
filenames[i]=text;
System.out.println("output the filterfile:");
if(filenames[i].endsWith("jpg")){
System.out.println(filenames[i]);
}
}
}
}
public class Test{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String[] filenames=new String[2];
int i=0;
for(i=0;i<filenames.length;i++){
System.out.println("please input the string");
String text=scanner.next();
filenames[i]=text;
System.out.println("output the filterfile:");
if(filenames[i].endsWith("jpg")){
System.out.println(filenames[i]);
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把string改为stringbuffer,再试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你第一个for循环后i的值已宏猛经变成了2 即i=2
而你的数组的长度是2 下标最多是1 在下橘中面的圆绝山if判断里面你直接使用filenames[i] 此时的i=2 当然错误
java.lang.ArrayIndexOutOfBoundsException: 2
而你的数组的长度是2 下标最多是1 在下橘中面的圆绝山if判断里面你直接使用filenames[i] 此时的i=2 当然错误
java.lang.ArrayIndexOutOfBoundsException: 2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询