java 字符串分割 StringTokenizer和split

本文介绍了两种在Java中分割字符串的方法:使用split方法和StringTokenizer类。通过具体的代码示例展示了如何根据指定的分隔符来分割字符串,并将结果保存到数组中。

1.利用split方法进行分割
public String[] splitStrng(String str,String sed)
{
        String[] array=str.split(sed);
        return array;
}
2,利用StringTokenizer方法进行分割
public String[] splitString(String str,String sed)
{
      StringTokenizer tokenizer=new StringTokenizer();
      int size=tokenizer.countTokens();
      String[] array=new String[size];
      i=0;
      while(tokenizer.hasMoreTokens())
      {
          array[i]=tokenizer.nextToken();
          i++;
      }
      
}

Java中,使用`StringTokenizer`类分割字符串计算手机话费总额的练习通常会给定一个话费清单,清单可能由多行组成,每行包含话费项目对应的金额,需将清单中的金额提取出来并累加得到总额。 以下是两份示例代码展示如何完成此任务: 示例代码1: ```java import java.util.Scanner; import java.util.StringTokenizer; public class StrTest { public static void main(String[] args) { // 接收给定的话费清单(由三行组成) Scanner input = new Scanner(System.in); String str1 = input.next(); String str2 = input.next(); String str3 = input.next(); // 拼接三行字符串 String str = str1 + "," + str2 + "," + str3; // 分隔字符串,累加每种物品的价格 double sum = 0; String price = null; StringTokenizer strToken = new StringTokenizer(str,","); while (strToken.hasMoreTokens()){ StringTokenizer st = new StringTokenizer(strToken.nextToken(),":"); while (st.hasMoreTokens()) { st.nextToken(); StringTokenizer st1 = new StringTokenizer(st.nextToken(), "元"); while (st1.hasMoreTokens()) { price = st1.nextToken(); } sum += Double.parseDouble(price); } } // 输出话费总额 System.out.println("话费总额为:" + sum); } } ``` 此代码先接收三行话费清单,将其拼接成一个字符串,再使用`StringTokenizer`类多次分割字符串,提取出金额并累加到`sum`变量中,最后输出话费总额 [^1]。 示例代码2: ```java import java.util.Scanner; import java.util.StringTokenizer; public class StrTest { public static void main(String[] args) { // 接收给定的话费清单(由三行组成) Scanner scanner = new Scanner(System.in); String[] arr = new String[3]; String total = ""; for (int i = 0; i < arr.length; i++) { arr[i] = scanner.nextLine(); if(i < arr.length - 1){ total += arr[i] + "-"; }else{ total += arr[i]; } } double sum = 0; // 拼接三行字符串 StringTokenizer stringTokenizer = new StringTokenizer(total,"-"); while(stringTokenizer.hasMoreTokens()){ String[] a = stringTokenizer.nextToken().split(":"); String a2 = a[1].substring(0,a[1].indexOf("元")); sum +=Double.parseDouble(a2); } // 分隔字符串,累加每种物品的价格 System.out.println("话费总额为:" + sum); } } ``` 该代码同样接收三行话费清单,将其拼接后使用`StringTokenizer`类分割,结合`split``substring`方法提取金额,最后累加输出总额 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值