用java写题目之“R7-4 图书价格汇总”

正确代码奉上

import java.util.Scanner;
public class Main {
    public static void main(String args[]){
        Scanner read = new Scanner(System.in);    
        int jishu = 0;					//用来计数分成几部分
        
        String s = read.nextLine();
        
        for(int i=0 ; i<s.length() ; i++) {
			if(s.charAt(i)==';')
				jishu ++ ;
		}
		String shuzu[] = s.split(";",jishu+1);	
        	
        int num = 0;		//用来存储总价格
        
        for(int i=0 ; i<shuzu.length ; i++) {
        	System.out.println(shuzu[i]);
        }
        
        
       for(int i=0 ; i<shuzu.length ; i++) {
    	   for(int j=0 ; j<shuzu[i].length() ; j++) {
    		   if(shuzu[i].charAt(j)>='0'&&shuzu[i].charAt(j)<='9') {			//找到字符串数组中的第一个数字字符
    			   num += (shuzu[i].charAt(j)-'0')*10+(shuzu[i].charAt(j)-'0');//将字符类型转化成数字
    			   																
    			   break;		//找到第一个数组字符就退出一重循环
    		   }  
    	   }
       }
       System.out.println("总价格为"+num);
    }
         
}

题目简介

在这里插入图片描述
在这里插入图片描述

学生思路

这一题学生使用数组来求解的。
(这一题学生解法具有特殊性,只适用于如如样例的类型
:Java程序设计:34 ;Web程序设计: 56;JSP程序设计:20)

细节要点
  1. 利用split方法,将输入的字符串变成字符串数组
  2. 利用.charAt()方法来找到字符串数组中的数字字符
  3. 而且只用找到第一个数字字符,就利用break退出一重循环
  4. 利用字符-‘0’ // 将字符变成数字

ending

若哪位同学有不理解的地方,可以在评论区留言,我看到后👀会及时回复的;

若学生的代码和解释有不正确的地方,还望大佬指正,我会及时更正,感谢🙏。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值