package com.string;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
//计算字符串的长度
public class TestStringLength {
public static void main(String args[]) {
System.out.println("请输入一个字符串");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
System.out.println(TestStringLength.getStringLength(str));
}
public static int getStringLength(String str) {
char[] c = str.toCharArray();
/*List<Character> list = new ArrayList<Character>();
int n = 0;
for (int i = 0; i < c.length; i++) {
list.add(c[i]);//先将字符串存入到ArrayList中
}
for(int i = 0; i < c.length;i++){
while (!list.isEmpty()) {
list.remove(i);//ArrayList是顺序存储,移除之后后面的索引位置会减一
n++;
}
}
return n;
}
}*/
Map<Character,Character> m = new HashMap<Character,Character>();
int n = 0;
for(int i = 0 ;i < c.length;i++){
m.put(c[i], c[i]);
}
for(int i = 0; i < m.size();i++){
while (!m.isEmpty()) {
m.remove(c[i++]);//如果m.remove(i)的话会变成死循环
n++;
continue;
}
}
return n;
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
//计算字符串的长度
public class TestStringLength {
public static void main(String args[]) {
System.out.println("请输入一个字符串");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
System.out.println(TestStringLength.getStringLength(str));
}
public static int getStringLength(String str) {
char[] c = str.toCharArray();
/*List<Character> list = new ArrayList<Character>();
int n = 0;
for (int i = 0; i < c.length; i++) {
list.add(c[i]);//先将字符串存入到ArrayList中
}
for(int i = 0; i < c.length;i++){
while (!list.isEmpty()) {
list.remove(i);//ArrayList是顺序存储,移除之后后面的索引位置会减一
n++;
}
}
return n;
}
}*/
Map<Character,Character> m = new HashMap<Character,Character>();
int n = 0;
for(int i = 0 ;i < c.length;i++){
m.put(c[i], c[i]);
}
for(int i = 0; i < m.size();i++){
while (!m.isEmpty()) {
m.remove(c[i++]);//如果m.remove(i)的话会变成死循环
n++;
continue;
}
}
return n;
}
}