Java 如何修改/拆分数组中的双字符串
如何在“firstName lastName”表单(例如:Anna Hale)中创建名的Java 如何修改/拆分数组中的双字符串,java,arrays,split,Java,Arrays,Split,如何在“firstName lastName”表单(例如:Anna Hale)中创建名的数组中发送的方法。该方法以“first---last”的形式返回名称(通过return语句)。下面是我的全名数组 public static void readData(String file) throws FileNotFoundException { x = new Scanner(new File(file)); n = 0; while(x.hasNextLine()) {
数组中发送的方法。该方法以“first---last”的形式返回名称(通过return语句)。下面是我的全名数组
public static void readData(String file) throws FileNotFoundException {
x = new Scanner(new File(file));
n = 0;
while(x.hasNextLine()) {
n++;
x.nextLine();
}
name = new String[n];
Scanner x1 = new Scanner(new File(file));
for(int i = 0; i < name.length; i++ )
name[i] = x1.nextLine();
System.out.println(Arrays.toString(name));
}
publicstaticvoidreaddata(字符串文件)抛出FileNotFoundException{
x=新扫描仪(新文件(文件));
n=0;
while(x.hasNextLine()){
n++;
x、 nextLine();
}
名称=新字符串[n];
扫描仪x1=新扫描仪(新文件(文件));
for(int i=0;i
这里是完整的代码,假设您想从文件中读取。请更正所发布代码中的编译时错误。由于您事先不知道数组的长度,因此无法初始化数组,或者您可以更改逻辑以获得行数,然后初始化数组
文件内容如下所示:
abc xyzzy
And sdff
Asdf sdfw
输出如下所示
[abc--xyzzy, And--sdff, Asdf--sdfw]
在下面的代码name[i]中,替换(“,”--”)代码>将空格替换为--
代码:
x.nextLine()的值代码>需要分配给变量,例如line=x.nextLine()代码>
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Post1 {
public static void main(String[] args) throws FileNotFoundException {
String[] transformedNames = readData("/Users/kuma/Desktop/post1.txt");
System.out.println(Arrays.toString(transformedNames));
}
public static String[] readData(String file) throws FileNotFoundException {
Scanner x = new Scanner(new File(file));
List<String> list = new ArrayList<>();
while(x.hasNextLine()) {
list.add(x.nextLine());
}
x.close();
String[] name = new String[list.size()];
list.toArray(name);
String[] transformedNames = new String[list.size()];
for(int i = 0; i < name.length; i++ )
transformedNames[i] = name[i].replace(" ", "--");
return transformedNames;
}
}
private static String[] readDataUsingJava8() {
String[] transformedNames = null;
try (Stream<String> stream = Files.lines(Paths.get( "/Users/kuma/Desktop/post1.txt"))) {
transformedNames =
stream.map(new Function<String, String>() {
@Override
public String apply(String t) {
// TODO Auto-generated method stub
return t.replace(" ", "--");
}
}).toArray(String[]::new);
} catch (IOException e) {
e.printStackTrace();
}
return transformedNames;
}