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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.从控制台录入一个double类型的小数,编写方法实现四舍五入。(只判断小数点后一位,如输入3.49999结果为3,输入3.5321结果为4);答案(仅供参考)
package test;
import java.util.Scanner;
public class Test1 {
        public static void main(String[] args) {
                //创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个double类型的小数");
                //获取输入的double数字
                double num = sc.nextDouble();
                //传入方法中
                int x = get(num);
                System.out.println("四舍五入的结果为:"+x);
        }
        private static int get(double num) {
                //将获取的数字转为字符串
                String str = String.valueOf(num);
                //将字符串以小数点切割
                String[] strs = str.split("\\.");
                //获取小数点后的数字
                String num1 = strs[1];
                //获取小数点后数字的第一位,如果大于等于5将让小数点前面的数字加一返回,否则直接返回
                int temp = Integer.parseInt(num1.charAt(0)+"");
                int firstNum =Integer.parseInt(strs[0]);
                if(temp>=5){
                        return (firstNum+1);
                }
                return firstNum;
        }
}


2.创建一个User类,该类有两个属性:String类型的账号以及密码。通过键盘录入账号及密码,如果密码大于4位且首位不为数字,
则使用录入的账号及密码创建User对象,否则提示密码输入错误,并重新录入,需要创建两个User对象。并将创建的对象存入集合中。最后遍历集合输出User中的账号及密码(格式为:账号:xxxxx,密码:xxxxx)
(此处因篇幅的原因就不提供User类的创建了,大家可以自己在项目中创建)
import java.util.Scanner;
import bean.User;
public class Test2 {
        public static void main(String[] args) {
                //获取User对象
                User u1 = get();
                User u2 = get();
                //将对象存入Arraylist集合
                ArrayList<User> alist = new ArrayList<>();
                alist.add(u1);
                alist.add(u2);
                //遍历输出集合元素
                for (User user : alist) {
                        System.out.println("账号:" + user.getZhangHao() + " 密码:"
                                        + user.getMima());
                }
        }
        private static User get() {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入账号及密码,用','隔开,密码以数字开头,必须大于四位");
                while (true) {
                        //获取键盘录入对象,并用,切割
                        String line = sc.nextLine();
                        String[] str = line.split(",");
                        //分别给账号密码字符串赋值
                        String zhanghao = str[0];
                        String mima = str[1];
                        //判读密码是否符合要求,如果如何要求就创建对象返回,否则重新输入
                        char[] chs = mima.toCharArray();
                        if (chs.length <= 4) {                  
                                System.out.println("密码不符合要求,请重新输入");
                        } else if (chs[0] > '9' || chs[0] < '0') {
                                System.out.println("密码不符合要求,请重新输入");
                        } else {
                                User u = new User(zhanghao, mima);
                                return u;
                        }
                }
        }
}

3.遍历D盘目录及其子目录中的所有文件夹,统计隐藏文件夹的个数。在项目根目录下创建一个stu.txt文件,文件内容为
abc
def
ghi
将该文件内容复制到D盘目录下的stu.txt文件中,并在其后面添加行号如下:
abc--1
def --2
ghi--3



package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Test3 {
        public static void main(String[] args) throws Exception {
               //有些同学因为系统原因会不能遍历盘符根目录,可以修改下面的file进行测试
                File file = new File("D:\\");
                int count = getNum(file);
                System.out.println("目录下一共有"+count+"个隐藏文件夹");
                BufferedReader br = new BufferedReader(new FileReader("stu.txt"));
                BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\stu.txt"));
                String line;
                int i = 1;
                while((line = br.readLine())!=null){
                        bw.write(line+"--"+i);
                        bw.newLine();
                        i++;
                }
                br.close();
                bw.close();
        }
        private static int getNum(File file) {
                int count = 0;
                if(file!=null){
                        File[] files = file.listFiles();
                        for (File file2 : files) {
                                        if(file2.isDirectory()){
                                                if(file2.isHidden()){
                                                        count++;
                                                }
                                                        count = count + getNum(file2);
                                        }
                        }
                }
                return count;
        }
}


30 个回复

正序浏览
6666666666666666
回复 使用道具 举报
第二题密码好像是不能为数字
回复 使用道具 举报
cat73 发表于 2016-9-18 11:13
d = (int)(((d % 1) >= 0.5) ? d + 1 : d);
第一题的四舍五入。。。
一句话搞定的事。。。 ...

嗯,题目是固定的,解题的方法是很多的,考试的时候可以写出来就可以了。。。。
回复 使用道具 举报
cat73 黑马帝 2016-9-18 11:13:54
28#
d = (int)(((d % 1) >= 0.5) ? d + 1 : d);
第一题的四舍五入。。。
一句话搞定的事。。。
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
谢谢分享,我们也是快考了,加油
回复 使用道具 举报
真的是点招题吗?
回复 使用道具 举报
谢谢,看了下,受益匪浅
回复 使用道具 举报
好东东啊............
回复 使用道具 举报
刘永川 来自手机 中级黑马 2016-9-15 18:52:57
22#
感谢好人分享,好人一生平安
回复 使用道具 举报

谢谢分享
回复 使用道具 举报
你们考试用的是自己的Eclipse吗
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
多谢分享
回复 使用道具 举报
NOTHIING 发表于 2016-9-15 13:10
第一题可以用强制转型int ch = (int)num,然后用num - ch 大于等于0.5则加1,《0.5则减1 ...

嗯嗯,你这种方法代码会少很多,小于0.5不做操作
回复 使用道具 举报
第一题可以用强制转型int ch = (int)num,然后用num - ch 大于等于0.5则加1,《0.5则减1
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
多谢多谢
回复 使用道具 举报
jiubaK 发表于 2016-9-13 23:21
点招不能使用Java提供的方法么?
新人表示还不了解

不是,是有的题目会加要求限制
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马