Java 我好像不能用。对了,我做错了什么
我正在尝试拆分一个读入文件并将其放入2d数组中。该文件的每个字符串上有3个字符串 用逗号分隔的行,整体想法是用排序算法来安排,但我不能分割字符串,这让我发疯,有人能帮我吗Java 我好像不能用。对了,我做错了什么,java,Java,我正在尝试拆分一个读入文件并将其放入2d数组中。该文件的每个字符串上有3个字符串 用逗号分隔的行,整体想法是用排序算法来安排,但我不能分割字符串,这让我发疯,有人能帮我吗 /** * * * @author (your name) * @version (a version number or a date) */ import java.util.*; import java.lang.String; import java.util.ArrayList; import jav
/**
*
*
* @author (your name)
* @version (a version number or a date)
*/
import java.util.*;
import java.lang.String;
import java.util.ArrayList;
import java.util.Arrays;
public class Example2{
public static void main(String args[]){
FileIO reader = new FileIO();
Scanner scan = new Scanner(System.in);
String[] inputs = reader.load("C:/ratings.csv");
String[] sep = new String[inputs.length];
for(int i=0;i<inputs.length;i++){
sep[i]=inputs.split(",");
System.out.println(sep[i]);
}
try{
reader.save("C://somefile.csv",inputs);
}catch (Exception e){
System.out.println(e.getClass());
}
}
}
/**
*
*
*@author(你的名字)
*@version(版本号或日期)
*/
导入java.util.*;
导入java.lang.String;
导入java.util.ArrayList;
导入java.util.array;
公共课示例2{
公共静态void main(字符串参数[]){
FileIO读取器=新FileIO();
扫描仪扫描=新扫描仪(System.in);
字符串[]输入=reader.load(“C:/ratings.csv”);
String[]sep=新字符串[inputs.length];
for(int i=0;i是String
类中的一个方法,inputs
是一个字符串数组。这里需要一个数组访问。您可能只是忘记添加[i]
在代码中。另外,由于您在循环中拆分字符串,因此您正在创建一个2D字符串数组,这意味着sep
应该是string[][]
。请尝试一下
public class Example2{
public static void main(String args[]){
FileIO reader = new FileIO();
Scanner scan = new Scanner(System.in);
String[] inputs = reader.load("C:/ratings.csv");
String[][] sep = new String[inputs.length][];
for(int i=0;i<inputs.length;i++){
sep[i]=inputs[i].split(",");
System.out.println(Arrays.toString(sep[i]));
}
}
// ...
}
}
公共类示例2{
公共静态void main(字符串参数[]){
FileIO读取器=新FileIO();
扫描仪扫描=新扫描仪(System.in);
字符串[]输入=reader.load(“C:/ratings.csv”);
字符串[][]sep=新字符串[inputs.length][];
对于(int i=0;i我不知道您返回的是什么,但是.split会将sep拆分为一个列表
这个代码是正确的
sep[i]=inputs.split(",");
但这是你的问题
String[] sep = new String[inputs.length];
这是一维数组,但需要二维数组
答复:
String[][] sep = new String[inputs.length][];
这只是为了解决.split问题。您试图将字符串[]
放在需要字符串的位置。(sep
的组件类型为String
,String#split
的返回类型为String[]
)输入。split(“,”
与您提到的不同,是不正确的。