基础测试

public class Test1 {
    /**
     * 第1题:从键盘接受一个数字,列出该数字的中文表示格式, 例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。
     *
     * @param args
     */
    public static void main(String[] args){
        // 引用变量
        BufferedReader br = null;
        BufferedWriter bw = null;
        try {
            // 创建输入流
            br = new BufferedReader(new InputStreamReader(System.in));
            // 创建输出流
            bw = new BufferedWriter(new OutputStreamWriter(System.out));
            // 建立数组,0—9的角标对应数组内容
            char[] chs = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' };
            String line = null;
            while ((line = br.readLine()) != null) {
                // 将读取的字符串转换成字符数组
                char[] arr = line.toCharArray();
                for (int i = 0; i < arr.length; i++) {
                    // 将对应‘1’字符的AScII码值转换成字符串,通过parseint方法转换成int类型数值
                    int index = Integer.parseInt(new String(
                            new char[] { arr[i] }));
                    bw.write(chs[index]);
                    bw.flush();
                }
            }
        } catch (IOException e) {
            System.out.println(e.toString());
        } finally {
            if (br != null)
                try {
                    br.close();
                } catch (IOException e1) {
                    throw new RuntimeException("输入流关闭失败");
                }
            if (bw != null)
                try {
                    bw.close();
                } catch (IOException e2) {
                    throw new RuntimeException("输出流关闭失败");
                }
        }
    }
}

public class Test2 {
    /**
     * 第2题:编程计算3乘8等于几,什么方法效率更高?
     *
     * @param args
     */
    public static void main(String[] args) {
        // 位运算符:3<<3相当于:3*(2*2*2);
        int i = 3 << 3;
        System.out.println(i);
    }
}

public class Test3 {
    /**
     * 第3题:求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
     *
     * @param args
     */
    public static void main(String[] args) {
        int n, a = 1, b = 1, c, d = 5, e = 0;
        for (n = 1; n < 30; n++) {
            // 前两个数是1 ,打印1.
            if (n <= 2) {
                System.out.print(1 + "\t");
            } else {
                c = a + b;
                System.out.print(c + "\t");
                // a+b=c;把b的值赋给a
                a = b;
                // 把c的值赋给b,运行上面的a+b=c
                b = c;
                // 每5个数换行一次
                if (n % 5 == 0) {
                    // 记录一行的个数
                    e++;
                    System.out.println("数的个数=" + d * e + "\t");
                }
            }
        }
    }
}


public class Test4 {
    /**
     * 第4题:定义一个二维int数组,编写代码获取最小元素。
     *
     * @param args
     */
    public static void main(String[] args) {
        int[][] arr = { { 1, 2, —1 }, { 18, —2 }, { 3 } };
        getMin(arr);
    }

    static int getMin(int[][] arr) {
        // 初始化最小值
        int Min = arr[0][0];
        // 遍历有几个一位数组
        for (int i = 0; i < arr.length; i++) {
            // 遍历每个一维数组的长度
            for (int j = 0; j < arr[i].length; j++) {
                // 遍历的过程中用Min记录住最小值
                if (Min > arr[i][j])
                    Min = arr[i][j];
            }
        }
        System.out.println(Min);
        return Min;
    }
}

public class Test5 {
    /**
     * 第5题:编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符, 例如: 原始字符串是"abc",打印得到下列所有组合情况: "a"
     * "b""c" "ab" "ac" "ba" "bc" "ca" "cb" "abc" "acb" "bac" "bca" "cab" "cba"
     *
     * @param args
     */
    public static String str = "abc";
    public static void main(String[] args) {
        show(0, new String());
    }
    // 递归
    public static void show(int current_recur, String temp) {
        if (current_recur < str.length()) {
            for (int i = 0; i < str.length(); i++) {
                if (!(temp.contains(str.substring(i, i + 1)))) {
                    System.out.print(temp + str.substring(i, i + 1) + "    ");
                    show(current_recur + 1,
                            new String(temp + str.substring(i, i + 1)));
                }
            }
        }
    }
}


public class Test6 {
    /**
     * 第6题:编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。
     *
     * @param args
     */
    public static void main(String[] args) {
        // 获取键盘录入对象。
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // 定义一个数组
        int[] arr = new int[5];
        // 初始化数组中的一个角标
        int max = 0, min = 0;
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            try {
                System.out.print("请输入第" + (i + 1) + "个数:");
                // 通过parseInt,字符串中的字符必须都是指定基数的数字
                arr[i] = Integer.parseInt(br.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        // 获取最值
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > arr[max])
                max = i;
            if (arr[i] < arr[min])
                min = i;
        }
        System.out.println("Max=" + arr[max]);
        System.out.println("Min=" + arr[min]);
    }
}

public class Test7 {
    /**
     * 第7题:声明类Student,包含3个成员变量:name、age、score, 要求可以通过 new Student("张三", 22, 95)
     * 的方式创建对象,并可以通过set和get方法访问成员变量
     *
     * @param args
     */
    public static void main(String[] args) {
        Student stu = new Student("张三", 22, 95);
        System.out.println(stu.getName() + "\t" + stu.getAge() + "\t"
                + stu.getScore());
    }
}
class Student {
    // 封装对象
    private String name;
    private int age;
    private int score;

    // 定义带参数的构造函数
    public Student(String name, int age, int score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }
    // 定义方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
}


public class Test8 {
    /**
     * 第8题:在打印语句中如何打印这3个x变量? class A { int x = 1; class B { int x = 2; void
     * func() { int x = 3; System.out.println( ? ); } } }
     *
     * @param args
     */
    public static void main(String[] args) {
        A.B b = new A().new B();
        b.func();
    }
}
class A {
    int x = 1;
    class B {
        int x = 2;
        void func() {
            int x = 3;
            // 本类功能内部使用了本类对象,都用类名.this表示
            System.out.println(A.this.x);
            System.out.println(this.x);
            System.out.println(x);
        }
    }
}

public class Test9 {
    /**
     * 第9题:写一个正则表达式,可以匹配尾号5连的手机号。 规则:
     * 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。 例如:18601088888、13912366666
     *
     * @param args
     */
    public static void main(String[] args) {
        // 定义电话号码规则
        String regex = "[1][3—5[8]][0—9]{4}(\\d)\\1{4}";
        // 使用户能够从 System.in 中读取一个数
        Scanner sc = new Scanner(System.in);
        boolean flag = true;
        System.out.println("输入电话号码");
        while (flag) {
            String str = sc.next();
            if ((str.toCharArray().length) == 11) {
                if (str.matches(regex)) {
                    flag = false;
                    System.out.println("匹配成功");
                } else {
                    System.out.println("匹配错误_重新输入");
                }
            } else {
                System.out.println("电话号码_位数错误_重新输入");
            }
        }
    }
}

public class Test10 {
    /**
     * 第10题:小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,
     * 小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?
     *
     * @param args
     */
    public static void main(String[] args) {
        // 从第一天开始开始存钱
        int day = 1;
        int money = 0;
        while (money < 100) {
            if (day % 7 != 0)
                money += 10;
            else if (day % 7 == 0)
                money = (money + 20) / 2;
            // 当存的钱大于或者等于100时,跳出循环
            if (money >= 100)
                break;
            day++;
        }
        System.out.println("小明需要" + day + "天才能存够100元");
    }
}

转载于:https://www.cnblogs.com/In-order-to-tomorrow/p/3646895.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jquery复习(七)之尺寸

jQuery 尺寸 方法 jQuery 提供多个处理尺寸的重要方法&#xff1a; width() height() innerWidth() innerHeight() outerWidth() outerHeight() jQuery 尺寸 jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度&#xff08;不包括内边距、边框或外边距&am…

C++学习_第1章_从C到C++

一、引用的概念和应用 1.引用的概念 下面写法定义了一个引用&#xff0c;并将其初始化为引用某个变量。类型名 & 引用名 某变量名;int n 4;int & r n; // r引用了n&#xff0c;r的类型是 int & 某个变量的引用&#xff0c;等价于这个变量&#xff0c;相当于该变…

更改默认安装位置到其他盘

1 同时按住Win R键&#xff0c;出现如下界面&#xff0c;在输入框中输入regedit&#xff0c;点击确定。 2 此时会进入到注册表编辑器界面&#xff0c;按如下路径选择&#xff1a;计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion 将所有默认路径&#xf…

jspservlet入门小项目--留言管理

一&#xff0c;jsp,servlet基础知识 1&#xff0c;jsp有一些内置对象&#xff0c;常用的有&#xff1a; out(PrintWriter),request(HttpServletRequest),response(HttpServletresponse),session(HttpSession),application(ServletContext) 注意&#xff1a;建议html和java代码分…

如何启用SQL Server 2008的FILESTREAM特性

如何启用SQL Server 2008的FILESTREAM特性 今天安装SQL Server 2008的时候没有注意&#xff0c;忘记了启用FILESTREAM特性&#xff0c;因为默认情况下FILESTREAM是禁用的。安装完成后&#xff0c;再导入一个.bak的备份数据库时提示FILESTREAM feature is disabled&#xff0c;到…

ARM Linux.2.6.34内核移植

ARM-LINUX-GCC版本4.3.2.以安装在/usr/local/arm/4.3.2下.第一步:修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改ARCH &#xff1f; arm CROSS_COMPILE &#xff1f;/usr/local/arm/4.3.2/bin/arm-linux-第二步:修改平台输入时钟修改平台的时钟频率&…

网络开发必备的HTTP协议知识

一、什么是HTTP协议 HTTP协议是一种应用层协议&#xff0c;HTTP是HyperText Transfer Protocol(超文本传输协议)的英文缩写。HTTP可以通过传输层的TCP协议在客户端和服务器之间传输数据。HTTP协议主要用于Web浏览器和Web服务器之间的数据交换。我们在使用IE或Firefox浏览…

SSP状态寄存器SSPSTAT

R R R R R R ─ ─ D/A P S R/W UA BF 地址&#xff1a;94h上电值&#xff1a;00h │ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ └──── 缓冲区满 …

----uni-app之解决HBuilderX安装less成功运行时提示未安装----

转载于:https://www.cnblogs.com/zjy850984598/p/11238777.html

js使浏览器窗口最大化(适用于IE的方法)

这里使用的方法是IE的私有特性&#xff0c;只能在IE中有效。主要是window.moveTo和 window.resizeTo方法。效果和点击最大化按钮差不多&#xff0c;有一点区别。点击最大化按钮后&#xff0c;浏览器的内容填充满显示器&#xff0c;浏览器窗口的边框被挤出显示器。而该js的最大化…

win7系统cocos2dx 3.4 绑定自定义类到Lua

Cocos2d-x 3.0开始使用bindings-generator来生成c类的lua绑定。bindings-generator基于tolua&#xff0c;通过配置tools/tolua中的ini文件以及运行genbindings.py就可以自动生成c类的绑定&#xff0c;具体的步骤在cocos2d-x-3.4\tools\tolua\README.mdown文件中&#xff0c;文档…

jQuery无任何标示获取td在表格中的行数和列数

当td没有任何标示时&#xff0c;在jQuery中实现获取其在表格中的行和列&#xff1a;<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w…

docker, docker-compose安装

官方文档&#xff1a; 安装docker: https://docs.docker.com/install/linux/docker-ce/centos/ 安装docker-compose: https://docs.docker.com/compose/install/ # 所有docker命令映射都是&#xff1a;local:container# create container docker run --name <name> -p 1…

Dojo实现Tabs页报错(二)

转载于:https://www.cnblogs.com/riasky/p/3481643.html

mongo DB for C#

(1)Download the MongoDB C#驱动. http://www.nuget.org/packages/mongocsharpdriver/. (2) Add Reference to C# 驱动 DLLs 1MongoDB.Bson.dll 2MongoDB.Driver.dll 3MongoDB.Driver.Core.dll 或者 Nuget 下载 VS 2012/13 TOOLS -> Library Package Manager –> Manage …

WinLogon事件通知包编程

2007年5月18日&#xff0c;21:18:55| yexiaozhou2003[AT]hotmail.com(cooldog)今天看到CSDN中有网友问道如何获取用户按CtrlAltDel锁定桌面的事件。回帖后大致整理了一下&#xff0c;希望对大家有帮助。 首先我们要了解一下WinLogon&#xff0c;他是负责提供给用户交互式界面的…

如何选择国外虚拟主机空间服务商

如何选择国外虚拟主机空间服务商 几经辛苦&#xff0c;终于把自己的主页给设计完成好了&#xff0c;那么下一步就是得为自己的网站在网上找一个家了。现在的互联网上的免费午餐似乎已经被大家吃过了头&#xff0c;做互联网已经很艰难了&#xff0c;更何况是更花钱的免费&#x…

bat函数调用 带返回值

bat 脚本之 使用函数 摘自&#xff1a;https://blog.csdn.net/peng_cao/article/details/73999076 综述bat函数写法bat函数调用bat函数返回值综述 Windows bat脚本是一种解释性的脚本语言&#xff0c;可以拿到做很多事情。对于稍简单的问题&#xff1a;比如通过注册表判断下档期…

[置顶] 读取pdf并且在web页面中显示

读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType "applicationpdf"; System.IO.FileStream reader System.IO.File.OpenRead(f); byte[] data new byte[reader.Length]; reader.Read(data, 0, (int)reader.Length); read…

实现路由器无线接收另一个路由器无线信号搭建网络

设置如下即可。 1&#xff0c;主副路由SSID设置成相同&#xff1b; 2&#xff0c;在主路由的BSSID中写上副路由的MAC&#xff1b; 3&#xff0c;在副路由的BSSID中写上主路由的MAC&#xff1b; 4&#xff0c;信道、模式、频道带宽、速率均设置成一致&#xff1b; 5&#xff0c;…