java将字符存到数组中,可以使用scanner类接受用户从键盘输入的字符,然后通过for循环语句,放入数组中,如下代码:
import java.util.Scannerpublic class c12{
public static void main(String[] args){
Scanner s= new Scanner(System.in)
System.out.println("请输入100个字母")//输入的字母数量
String[] a=new String[100]
for(int i=0i<=100i++)
a[i]=s.next() //放入数组中
for(int i=0i<=100i++){
System.out.print(a[i]+"\t")
}
}
}
用什么读取字符串?如果是控制台读取的话给你思路,我就不贴代码了:1、每次读取一行,第一行读取后,new一个长度为长度为输入值的数组,比如String [] s=new String[读取的值]
2、读取第二行字符串,并设置为数组的第一位值,如:s[0]="读取的值"
3、后面类似。
//构建控制台的输入流BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))
System.out.print("input:\n")
//用于存储键值对的map
Map <String, Integer>countMap = new HashMap<String, Integer>()
String strtemp = ""
String []strarray
//从控制台读取一行
String str = reader.readLine()
reader.close()
int count = 1
int cur
//如果没有输入
if(str == null || "".equals(str))
System.out.println("there are some erros!")
else{
//在字符串中找到第一个{
cur = str.indexOf('{')
if(cur <0){
System.out.println("do not contain '{'")
}else{
//在字符串中找到最后一个}
strtemp = str.substring(cur + 1)
cur = strtemp.lastIndexOf('}')
if(cur >= 0){
strtemp = strtemp.substring(0, cur)
strarray = strtemp.split("\\,")
for(String ts : strarray){//将找到的字符串放入map中
if(countMap.containsKey(ts))
count += countMap.get(ts)
countMap.put(ts, count)
count = 1
}
//打印字符串键对值
for(String ts : strarray){
if(countMap.containsKey(ts)){
System.out.println(ts + ": " + countMap.get(ts))
countMap.remove(ts)
}
}
}else{
System.out.println("do not contain '}' or no values in {}")
}
}
}