A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fuleigang 中级黑马   /  2017-3-20 13:31  /  990 人查看  /  10 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

每次都是三道题,今天API和集合考试
第一题:
/*
* 统计一个键盘录入的字符串中大写字母字符,小写字母字符,数字字符出现的次数。(8分)
        举例:Hello520World
        结果:大写字母:2
                数字字符:3
                小写字母:8
        1.识别输入的字符串的大小写和数字
        2.将识别到的用计数器
*/

10 个回复

倒序浏览
private static void test01(String s) {

                int num = 0, l = 0, u = 0;
                if ("".equals(s) || s == null) {
                        System.out.println("数字、小写字母、大写字母为0个!");
                        return;
                }

                for (char ch : s.toCharArray()) {

                        if (ch >= '0' && ch <= '9')
                                num++;
                        if (ch >= 'a' && ch <= 'z')
                                l++;
                        if (ch >= 'A' && ch <= 'Z')
                                u++;

                }

                System.out.println("数字有:" + num);
                System.out.println("小写字母有:" + l);
                System.out.println("大写字母有:" + u);

        }
回复 使用道具 举报
印度一男子因与萨达姆几乎同名求职被拒40余次
回复 使用道具 举报
怎么只有一道题,那两道呢
回复 使用道具 举报
完成了,等下面2题
回复 使用道具 举报
回复 使用道具 举报
package Demo;

import java.util.Scanner;

/*
* 统计一个键盘录入的字符串中大写字母字符,小写字母字符,数字字符出现的次数。(8分)
        举例:Hello520World
        结果:大写字母:2
                数字字符:3
                小写字母:8
        1.识别输入的字符串的大小写和数字
        2.将识别到的用计数器
*/
public class Demo {
        public static void main(String[] args) {
                Scanner scanner = new Scanner(System.in);
                System.out.println("请输入");
                String string =scanner.next();
                char[]ch =string.toCharArray();
                int count=0;
                int count1=0;
                int count2 = 0;
                for (int i = 0; i < ch.length; i++) {
//                        System.out.print(ch[i]);
                       
                        if(ch[i] >= 'A' && ch[i] <= 'Z' ){
                                count++;       
                        }
                        if(ch[i] >= 'a' && ch[i] <= 'z' ){
                                count1++;       
                        }
                        if(ch[i] >= '0' && ch[i] <= '9' ){
                                count2++;       
                        }
                }
                System.out.println("大写字母:"+count);
                System.out.println("数字字符:"+count2);
                System.out.println("小写字母:"+count1);
               
        }
}
回复 使用道具 举报
第二题
2: 我有如下一个字符串:”91 27 46 38 50”,请写代码实现最终输出结果是:”27 38 46 50 91”(10分)(答题过程中需采用到集合的相关知识点)
回复 使用道具 举报
package Demo2;

import java.util.*;
/*
* 我有如下一个字符串:”91 27 46 38 50”,请写代码实现最终输出结果是:
* ”27 38 46 50 91”(10分)(答题过程中需采用到集合的相关知识点)
*/
public class demo1 {
        public static void main(String[] args) {
                String s = "91 27 46 38 50 100 111";
                String[] s1 = s.split(" +");
                List<String>list = new ArrayList<>();
                Arrays.sort(s1);
                for(String s2:s1){
                        list.add(s2);
                }
//                Collections.sort(list);
                for(String s3:list){
                        System.out.print(s3+" ");
                }
        }
}
回复 使用道具 举报
第三题
3、Map中有如下数据:{茄子=2, 黄瓜=2.5, 西红柿=5, 土豆=3, 豆角=3.5}
实现一个询问价格的方法(获取用户在控制台上输入的蔬菜名称,然后在该Map集合中查询对应的价格)有,则输出相对应的价格,如果没有则提示用户“已经卖完”
将黄瓜的价格上调1元(不能直接赋值3.5)
将所有蔬菜的价格大于3的蔬菜名称打印到控制台
回复 使用道具 举报
解答
package Demo3;

import java.util.HashMap;

import java.util.Map;
import java.util.Scanner;
import java.util.Set;

/*
* Map中有如下数据:{茄子=2, 黄瓜=2.5, 西红柿=5, 土豆=3, 豆角=3.5}
实现一个询问价格的方法(获取用户在控制台上输入的蔬菜名称,
然后在该Map集合中查询对应的价格)有,则输出相对应的价格,如果没有则提示用户“已经卖完”
将黄瓜的价格上调1元(不能直接赋值3.5)
将所有蔬菜的价格大于3的蔬菜名称打印到控制台
*/
public class Demo1 {
        public static void main(String[] args) {
                Map<String, Double>map=new HashMap<>();
                map.put("茄子", 2.0);
                map.put("黄瓜", 2.5);
                map.put("西红柿", 5.0);
                map.put("土豆", 3.0);
                map.put("豆角", 3.5);
                //询价方法
                price(map);
                //将黄瓜的价格上调1元(
                map.remove("黄瓜");
                map.put("黄瓜", 3.0);
                //所有蔬菜的价格大于3的蔬菜名称打印到控制台
                Set<String> set = map.keySet();
                for(String string :set){
                        double s = map.get(string);
                        if(s >=3.0){
                                System.out.println(string+" "+s);
                        }
                }
        }
        //询问价格的方法
        public static void price(Map<String, Double>map){
                System.out.println("请输入蔬菜名");
//                Set<String>set = map.keySet();
                Scanner sc=new Scanner(System.in);
                String st = sc.next();
                if(map.containsKey(st)){
                System.out.println(st+map.get(st));
                }else{
                        System.out.println("商品卖完");
                }
               
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马