Java 如何正确地将字符串分隔为ArrayList?
我的程序旨在分离字符串,然后将它们放入数组中。例如,如果我输入值LONDON,我仍然会返回字符串[LONDON],而不是我想要的字符串[L,O,N,D,O,N]Java 如何正确地将字符串分隔为ArrayList?,java,arrays,string,arraylist,Java,Arrays,String,Arraylist,我的程序旨在分离字符串,然后将它们放入数组中。例如,如果我输入值LONDON,我仍然会返回字符串[LONDON],而不是我想要的字符串[L,O,N,D,O,N] import java.io.IOException; import java.util.*; class Main { public static void main(String[] args) throws IOException { ArrayList<String> myArrayList =
import java.io.IOException;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
ArrayList<String> myArrayList =
new ArrayList<String>();
System.out.println("\n" +
"This is the capacity before adding any strings " +
myArrayList.size());
System.out.println("\n" +
"I will now add a string of my name seperated in the " +
"Array List");
myArrayList.add("E");
myArrayList.add("M");
myArrayList.add("M");
myArrayList.add("A");
myArrayList.add("N");
myArrayList.add("U");
myArrayList.add("E");
myArrayList.add("L");
System.out.println("\n" +
"Now let us see the size of the Array List now I have" +
"put in my name " + myArrayList.size());
System.out.println("\n" +
"Let us see what the program has put into my Array List " +
myArrayList);
System.out.println("\n" +
"Now input your own strings!");
ArrayMods arrayMods
= new ArrayMods();
while(true) {
arrayMods.inputToSeparatedArray();
System.out.println("This is your Array!" +
arrayMods.putCharString() +
"Type in your next string!");
}
}
}
class ArrayMods{
public char[] inputToSeparatedArray(){
Scanner scanInput = new Scanner(System.in);
String toBeSeparated;
toBeSeparated = scanInput.nextLine();
return toBeSeparated.toCharArray();
}
public ArrayList<String> putCharString() {
char[] receivingArray = inputToSeparatedArray();
for (int x = 0; x > receivingArray.length; x++) {
putCharString().add(String.valueOf(receivingArray[x]));
}
List<String> l = Collections.<String>singletonList(String.valueOf(receivingArray));
return new ArrayList<String>(l);
}
}
import java.io.IOException;
导入java.util.*;
班长{
公共静态void main(字符串[]args)引发IOException{
ArrayList myArrayList=
新的ArrayList();
System.out.println(“\n”+
“这是添加任何字符串之前的容量”+
myArrayList.size());
System.out.println(“\n”+
“现在,我将添加一个字符串,其中我的名字以+
“数组列表”);
myArrayList.添加(“E”);
myArrayList.添加(“M”);
myArrayList.添加(“M”);
myArrayList.添加(“A”);
myArrayList.添加(“N”);
myArrayList.添加(“U”);
myArrayList.添加(“E”);
myArrayList.添加(“L”);
System.out.println(“\n”+
“现在让我们看看我现在拥有的数组列表的大小”+
“输入我的名字”+myArrayList.size());
System.out.println(“\n”+
“让我们看看程序在我的数组列表中放入了什么”+
myArrayList);
System.out.println(“\n”+
“现在输入您自己的字符串!”);
ArrayMods ArrayMods
=新的ArrayMods();
while(true){
arrayMods.InputsParatedArray();
System.out.println(“这是您的数组!”+
arrayMods.putCharString()+
“输入下一个字符串!”);
}
}
}
类数组{
公共字符[]InputsParateArray(){
扫描仪扫描输入=新扫描仪(System.in);
要分离的字符串;
toBeSeparated=scanInput.nextLine();
返回到separated.toCharArray();
}
公共ArrayList putCharString(){
char[]receivingArray=inputToSeparatedArray();
对于(int x=0;x>receivingArray.length;x++){
putCharString().add(String.valueOf(receivingArray[x]);
}
List l=Collections.singletonList(String.valueOf(receivingArray));
返回新的ArrayList(l);
}
}
您可以创建一个字符数组,并对字符串中的字符进行迭代或流式处理,以如下方式填充:
String test = "LONDON";
Character[] charObjectArray =
test.chars().mapToObj(c -> (char)c).toArray(Character[]::new);
也可以对列表执行以下操作:
List<Character> listOfChars =
test.chars().mapToObj(c -> (char) c).collect(Collectors.toList());
如果您想做的唯一一件事就是按照上面提到的方式输出它:
String myString = "LONDON";
List<Character> splittedString = new ArrayList<>();
for (int i = 0; i < myString.length(); i++)
splittedString.add(myString.charAt(i));
System.out.println(splittedString);
String myString=“LONDON”;
List splittedString=新建ArrayList();
对于(int i=0;i
如果您只想拆分它们,而输出实际上并不重要,那么可以使用相同的代码,但使用char数组。唯一会发生的事情是,输出将是伦敦,而不是L,O,N,D,O,N(正如你上面提到的)
您仍然可以使用for或forEach并以这种方式打印。您的问题不清楚。在标题中,您声称需要ArrayList,但在问题本身中,您说“。然后将它们放入数组”。ArrayList与array不同。使用选项澄清预期结果。好的,谢谢。我的问题措辞不正确。对不起
String myString = "LONDON";
List<Character> splittedString = new ArrayList<>();
for (int i = 0; i < myString.length(); i++)
splittedString.add(myString.charAt(i));
System.out.println(splittedString);