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]);
}
}
}
这样做为什么不行呢 展开
6个回答
TableDI
2024-07-18 广告
2024-07-18 广告
作为上海悉息信息科技有限公司的一员,我们专注于提供高效的数据处理解决方案。对于多个文件表格的合并需求,我们通常采用专业的数据整合技术,确保数据的准确性和一致性。通过精确匹配表格字段和格式,我们能够快速、准确地将多个表格合并成一个,为用户提供...
点击进入详情页
本回答由TableDI提供
展开全部
不是不能赋值,是最后
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询