Java 使用拆分函数搜索数组列表

Java 使用拆分函数搜索数组列表,java,arrays,string,Java,Arrays,String,帮助我需要使用split.indexof(,)函数从数组列表文件中读取一行这是我为将文件放入数组而编写的代码 import java.io.*; //For printwriter. import java.util.*; //for scanner. import javax.swing.*; //for JOption Pane. public class dates {public static void main(String[] args) throws IOException

帮助我需要使用split.indexof(,)函数从数组列表文件中读取一行这是我为将文件放入数组而编写的代码

import java.io.*; //For printwriter.
import java.util.*; //for scanner.
import javax.swing.*; //for JOption Pane.
public class dates 


{public static void main(String[] args) throws IOException
{
//Ask user for birthday variables. 
String userMonth; 
userMonth = JOptionPane.showInputDialog("Please enter your birthday month ex: January"); 
String userDay; 
userDay = JOptionPane.showInputDialog("Please enter your birthday day, ex: 5, or 24."); 
Eventday(userMonth,userDay);
 System.exit(0);
}
 private static void Eventday(String userMonth, String userDay) throws  IOException{


  Scanner s = new Scanner(new File("\\Users\\user name\\Desktop\\eclipes\\famous date\\src\\famous dates.txt"));
ArrayList<String> list = new ArrayList<String>();
 while(s.hasNext())
{
list.add(s.nextLine());
}s.close();
}
}
import java.io.*//给印刷作家。
导入java.util.*//用于扫描仪。
导入javax.swing.*//对于JOption窗格。
公开课日期
{公共静态void main(字符串[]args)引发IOException
{
//向用户询问生日变量。
字符串userMonth;
userMonth=JOptionPane.showInputDialog(“请输入您的生日月份,例如:一月”);
字符串userDay;
userDay=JOptionPane.showInputDialog(“请输入您的生日,例如:5或24”);
Eventday(用户月、用户日);
系统出口(0);
}
私有静态void Eventday(字符串userMonth,字符串userDay)引发IOException{
Scanner s=new Scanner(新文件(“\\Users\\user name\\Desktop\\eclipes\\name date\\src\\name dates.txt”);
ArrayList=新建ArrayList();
而(s.hasNext())
{
list.add(s.nextLine());
}s、 close();
}
}
这就是文件的外观

1月1日,(打印第一行)
1月2日,(打印第二行)
1月3日,(打印第三行)


我想打印用户输入的行号:生日、月份和日期?

要解决此问题,必须首先向文件构造函数传递有效路径,然后拆分字符串以获得所需的事件:

import java.io.*; //For printwriter.
import java.util.*; //for scanner.
import javax.swing.*; //for JOption Pane.
public class dates {
    public static void main(String[] args) throws IOException {
        //Ask user for birthday variables. 
        String userMonth; 
        userMonth = JOptionPane.showInputDialog("Please enter your birthday month ex: January"); 
        String userDay; 
        userDay = JOptionPane.showInputDialog("Please enter your birthday day, ex: 5, or 24."); 
        Eventday(userMonth,userDay);
        System.exit(0);
    }

    private static void Eventday(String userMonth, String userDay) throws  IOException{

        File file = new File("famous dates.txt");
        if(!file.exists())return;
        Scanner s = new Scanner(file);
        ArrayList<String> list = new ArrayList<String>();
        while(s.hasNext()) {
            list.add(s.nextLine());
        }
        s.close();

        for(String event : list) {
            String[] data = event.split(", ");
            if(data[0].equalsIgnoreCase(userMonth) && data[1].equalsIgnoreCase(userDay))
                System.out.println(data[2]);
        }
    }
}
import java.io.*//给印刷作家。
导入java.util.*//用于扫描仪。
导入javax.swing.*//对于JOption窗格。
公开课日期{
公共静态void main(字符串[]args)引发IOException{
//向用户询问生日变量。
字符串userMonth;
userMonth=JOptionPane.showInputDialog(“请输入您的生日月份,例如:一月”);
字符串userDay;
userDay=JOptionPane.showInputDialog(“请输入您的生日,例如:5或24”);
Eventday(用户月、用户日);
系统出口(0);
}
私有静态void Eventday(字符串userMonth,字符串userDay)引发IOException{
File File=新文件(“著名日期.txt”);
如果(!file.exists())返回;
扫描仪s=新扫描仪(文件);
ArrayList=新建ArrayList();
而(s.hasNext()){
list.add(s.nextLine());
}
s、 close();
用于(字符串事件:列表){
String[]data=event.split(“,”);
if(数据[0].equalsIgnoreCase(用户月)和&data[1].equalsIgnoreCase(用户日))
System.out.println(数据[2]);
}
}
}

我还没有测试代码,但它应该可以正常工作。

是否编译?您的意思是希望程序只打印指定日期的事件?@matiaselgart代码不完整,我找不到文件error@aleb2000是的,这就是我想要的,根据用户输入文件未找到错误您只需发送一个现有路径作为参数即可解决谢谢您的帮助祝您好运,pimpvader