黑马程序员技术交流社区

标题: API集合第三次基础考试 [打印本页]

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


作者: qishui    时间: 2017-3-20 19:54
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);

        }

作者: zhao543    时间: 2017-3-20 20:31
印度一男子因与萨达姆几乎同名求职被拒40余次
作者: 亮仔开发    时间: 2017-3-20 22:35
怎么只有一道题,那两道呢
作者: 785026612    时间: 2017-3-21 00:04
完成了,等下面2题
作者: fuleigang    时间: 2017-3-21 06:18
用多重方法列出来

作者: fuleigang    时间: 2017-3-21 07:42
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);
               
        }
}

作者: fuleigang    时间: 2017-3-21 07:44
第二题
2: 我有如下一个字符串:”91 27 46 38 50”,请写代码实现最终输出结果是:”27 38 46 50 91”(10分)(答题过程中需采用到集合的相关知识点)
作者: fuleigang    时间: 2017-3-21 07:45
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+" ");
                }
        }
}

作者: fuleigang    时间: 2017-3-21 07:46
第三题
3、Map中有如下数据:{茄子=2, 黄瓜=2.5, 西红柿=5, 土豆=3, 豆角=3.5}
实现一个询问价格的方法(获取用户在控制台上输入的蔬菜名称,然后在该Map集合中查询对应的价格)有,则输出相对应的价格,如果没有则提示用户“已经卖完”
将黄瓜的价格上调1元(不能直接赋值3.5)
将所有蔬菜的价格大于3的蔬菜名称打印到控制台
作者: fuleigang    时间: 2017-3-21 07:47
解答
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("商品卖完");
                }
               
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2