import java.util.*;//旧方法
public class 四_6 {
public static void main(String[] args){
String s1= " public static void, main";
String s2= "StringTokenizer pas2? =new StringTokenizer ";
StringTokenizer pas1=new StringTokenizer(s1," ,");
StringTokenizer pas2=new StringTokenizer(s2," ?");
int n1=pas1.countTokens(),n2=pas2.countTokens();
System.out.println("s1有单词:"+n1+"个,全部单词如下:");
while(pas1.hasMoreTokens()){
String s=pas1.nextToken();
System.out.println(s);
}
System.out.println("s2有单词:"+n2+"个,全部单词如下:");
while(pas2.hasMoreTokens()){
String s=pas2.nextToken();
System.out.println(s);
}
}}
/*现在用新方法
public class 四_6_xin {
public static void main(String[] args){
String[] s1= " public static void, main".split("\\s");;//这里仅仅是去掉了空格
String[] s2= "StringTokenizer pas2? =new StringTokenizer ".split("\\s");;//这里仅仅是去掉了空格 System.out.println("s1有单词:"+s1+"个,全部单词如下:");
for (int x=0; x<s1.length; x++)
System.out.println(s1[x]); System.out.println("s2有单词:"+s2+"个,全部单词如下:");
for (int x=0; x<s2.length; x++)
System.out.println(s2[x]);
}}
当用split方法不知道该如何使用参数去掉" ,"或者是" ?" 也是就是分隔符
再者旧方法中的计数功能要在新方法中实现,可能需要用到java.util.regex包
不知道该怎么计数。请赐教
*/
public class 四_6 {
public static void main(String[] args){
String s1= " public static void, main";
String s2= "StringTokenizer pas2? =new StringTokenizer ";
StringTokenizer pas1=new StringTokenizer(s1," ,");
StringTokenizer pas2=new StringTokenizer(s2," ?");
int n1=pas1.countTokens(),n2=pas2.countTokens();
System.out.println("s1有单词:"+n1+"个,全部单词如下:");
while(pas1.hasMoreTokens()){
String s=pas1.nextToken();
System.out.println(s);
}
System.out.println("s2有单词:"+n2+"个,全部单词如下:");
while(pas2.hasMoreTokens()){
String s=pas2.nextToken();
System.out.println(s);
}
}}
/*现在用新方法
public class 四_6_xin {
public static void main(String[] args){
String[] s1= " public static void, main".split("\\s");;//这里仅仅是去掉了空格
String[] s2= "StringTokenizer pas2? =new StringTokenizer ".split("\\s");;//这里仅仅是去掉了空格 System.out.println("s1有单词:"+s1+"个,全部单词如下:");
for (int x=0; x<s1.length; x++)
System.out.println(s1[x]); System.out.println("s2有单词:"+s2+"个,全部单词如下:");
for (int x=0; x<s2.length; x++)
System.out.println(s2[x]);
}}
当用split方法不知道该如何使用参数去掉" ,"或者是" ?" 也是就是分隔符
再者旧方法中的计数功能要在新方法中实现,可能需要用到java.util.regex包
不知道该怎么计数。请赐教
*/
解决方案 »
- 哈哈哈··我可以发200分的帖子了··继续散分··
- 关于Java十六进制的问题!请高手帮忙
- java.lang.NoClassFoundError:javax/mail/Message
- 系统时间对的,java.util.Date得到的时间确是错误的??
- java bean急!!
- javac编译文件 怎么提示找不到类。。大虾写帮我看看我的classpath对不对?
- JB2005的问题
- InputStream的一个重要方面理解问题?
- IO的问题,请高手帮忙看看!非常感谢!
- tomcat 简单问题,答对立刻给分!
- [散分 80分] 想写一个关于通信协议点评的帖子,不知道写在哪个版面比较好
- 求助:关于一段Java程序,望高手指点
import java.util.*;//旧方法
public class 四_6 {
public static void main(String[] args){
String s1= " public static void, main";
String s2= "StringTokenizer pas2? =new StringTokenizer ";
StringTokenizer pas1=new StringTokenizer(s1," ,");
StringTokenizer pas2=new StringTokenizer(s2," ?");
int n1=pas1.countTokens(),n2=pas2.countTokens();
System.out.println("s1有单词:"+n1+"个,全部单词如下:");
while(pas1.hasMoreTokens()){
String s=pas1.nextToken();
System.out.println(s);
}
System.out.println("s2有单词:"+n2+"个,全部单词如下:");
while(pas2.hasMoreTokens()){
String s=pas2.nextToken();
System.out.println(s);
}
}}
/*现在用新方法
public class 四_6_xin {
public static void main(String[] args){
String[] s1= " public static void, main".split("\\s");;//这里仅仅是去掉了空格
String[] s2= "StringTokenizer pas2? =new StringTokenizer ".split("\\s");;//这里仅仅是去掉了空格 System.out.println("s1有单词:"+s1+"个,全部单词如下:");
for (int x=0; x<s1.length; x++)
System.out.println(s1[x]); System.out.println("s2有单词:"+s2+"个,全部单词如下:");
for (int x=0; x<s2.length; x++)
System.out.println(s2[x]);
}}
当用split方法不知道该如何使用参数去掉" ,"或者是" ?"
再者旧方法中的计数功能要在新方法中实现,可能需要用到java.util.regex包
不知道该怎么计数。请赐教
*/重新规范一下格式
System.out.println("s1有单词:"+s1+"个,全部单词如下:");
s1计数不是安单词个数来算的。。
String[] s1= " public static void, main".split("\\W?\\s");
String[] s2= "StringTokenizer pas2? =new StringTokenizer ".split("\\??\\s");
2楼给我很大启发但是S1输出后第一排是空行,虽然下面是正确的输出,用fosjos兄的(,?\\s)也是同样出现这样的空行S2自己解决了。现在就是关于单词的计数问题了。。看来需要一点分数刺激才行啊O(∩_∩)O
再判断一下首尾是否空字符串怀疑楼主是否初学java
学东西虽然不能一日千里,但我想这样的学习态度应该是正确的。。
public class 四_6_xin {
public static void main(String[] args){
String[] s1= " public static void, main".split("\\W?\\s");
String[] s2= "StringTokenizer pas2? =new StringTokenizer ".split("\\??\\s"); System.out.println("s1有单词:"+(s1.length-1)+"个,全部单词如下:");
for (int x=1; x<s1.length; x++)
System.out.println(s1[x]); System.out.println("s2有单词:"+s2.length+"个,全部单词如下:");
for (int x=0; x<s2.length; x++)
System.out.println(s2[x]);
}}
这是用强制手段得到的,结果和旧方法一致。但又有何意义?s1一改就要整个翻新
int first = 0;
int last = s1.length-1;
if(s1[first].length()==0)
first++;
if(s1[last].length()==0)
last--;
System.out.println("s有单词:"+(last-first+1)+"个,全部单词如下:");
for(int x=first; x<=last; x++)
System.out.println(s[x]);