Java作业——权限综合实验 + 数组、字符串高级应用
2015-11-25 22:31
477 查看
这道题。。。没什么好说的,就正则表达式的东西吧,直接贴题目和代码()
实验4 权限综合实验 + 数组、字符串高级应用
【实验类型】:综合型
【实验目的】:
1) 熟悉和掌握包的作用;
2) 熟悉和掌握如何将类编译输出到特定的包中,如何导入包;
3) 熟悉并掌握包对类权限修饰的影响;
4) 熟悉并掌握自动装箱、自动拆箱机制的含义和使用方式;
5) 熟悉并掌握字符串的高级使用方式;如正则表达式的使用等;[自行查找资料自学]
6) 属性并掌握数组的高级使用方式,如相关算法的调用等;
【实验内容】:
本次实验包含如下两个小实验:
1) 实验a:旨在验证包及其成员的访问权限;
有A、B、A1、C等4个类,其中A、B在包P1中,A1、C在包P2,每个类都有全部四种权限的成员,且A1是A的子类。现要求设计程序,验证包和权限修饰的影响。注意:4个类也需要配被合适的类权限修饰。验证时注意编译出错信息,合法调用要注意给出调用成功信息。
2) 实验b:旨在验证装箱拆箱、字符串和数组的高级应用
a) 输入若干java语句,识别出其中合法的标识符,如,输入:
“a+1.2f-4d-d5”,则合法的标识符有:”a”、”d5”
b) 输入10个数值型计算表达式(如1+2-3.0f+2.1),识别并计算,之后输出排序后的结果。如输入:
10+2+3.0
5-2.0f+3.0
1+2+3
输出结果为:
1+2+3=6 int型
5-2.0f+3.0=6.0 double型
10+2+3.0=15 double型
【实验提示】:
a)对实验a,一定要注意为每一类都必须隶属于一个包,否则将产生无名包问题,处理起来很麻烦,并且可能影响对结果的判别;
b)对实验b,要充分例子String类中字符串分隔功能,分隔的依据可以是正则表达式,这实际上可看作是识别的依据。
实验a不贴了,权限修饰符问题而已。
实验b:
实验4 权限综合实验 + 数组、字符串高级应用
【实验类型】:综合型
【实验目的】:
1) 熟悉和掌握包的作用;
2) 熟悉和掌握如何将类编译输出到特定的包中,如何导入包;
3) 熟悉并掌握包对类权限修饰的影响;
4) 熟悉并掌握自动装箱、自动拆箱机制的含义和使用方式;
5) 熟悉并掌握字符串的高级使用方式;如正则表达式的使用等;[自行查找资料自学]
6) 属性并掌握数组的高级使用方式,如相关算法的调用等;
【实验内容】:
本次实验包含如下两个小实验:
1) 实验a:旨在验证包及其成员的访问权限;
有A、B、A1、C等4个类,其中A、B在包P1中,A1、C在包P2,每个类都有全部四种权限的成员,且A1是A的子类。现要求设计程序,验证包和权限修饰的影响。注意:4个类也需要配被合适的类权限修饰。验证时注意编译出错信息,合法调用要注意给出调用成功信息。
2) 实验b:旨在验证装箱拆箱、字符串和数组的高级应用
a) 输入若干java语句,识别出其中合法的标识符,如,输入:
“a+1.2f-4d-d5”,则合法的标识符有:”a”、”d5”
b) 输入10个数值型计算表达式(如1+2-3.0f+2.1),识别并计算,之后输出排序后的结果。如输入:
10+2+3.0
5-2.0f+3.0
1+2+3
输出结果为:
1+2+3=6 int型
5-2.0f+3.0=6.0 double型
10+2+3.0=15 double型
【实验提示】:
a)对实验a,一定要注意为每一类都必须隶属于一个包,否则将产生无名包问题,处理起来很麻烦,并且可能影响对结果的判别;
b)对实验b,要充分例子String类中字符串分隔功能,分隔的依据可以是正则表达式,这实际上可看作是识别的依据。
实验a不贴了,权限修饰符问题而已。
实验b:
import java.util.ArrayList; /** * 正则表达式 * @author KevinWu * */ public class A { public static void main(String[] args) { // TODO Auto-generated method stub String testStr="$-a+1.2f-4d-d5"; //先分割字符串 String cutStr[]=testStr.split("[+-]"); for(int i=0;i<cutStr.length;i++){ String regex="[a-zA-Z$]{1}\\w*";//字母或$开头,后面的可以是数字或字母 if(cutStr[i].matches(regex)) System.out.println(cutStr[i]); } } }
import java.util.Scanner; /** * 识别计算 * @author KevinWu * */ public class B { public static void main(String[] args) { String s1 = null; Scanner sc = new Scanner(System.in); while (sc.hasNext()) { s1 = sc.next(); int sumi = 0; double sumd = 0.0; // 先确定有没有f if (s1.split("f").length != 1 || s1.substring(s1.length() - 1).equals("f")) {// 结果是double // 分割出加数并相加 String p[] = s1.split("[+]"); for (int i = 0; i < p.length; i++) { if (p[i].split("[-]").length == 1) sumd += Double.valueOf(p[i]).doubleValue(); } // 再分割出被减数 String d[] = s1.split("[-]"); for (int i = 0; i < d.length; i++) { if (d[i].split("[+]").length == 1) sumd -= Double.valueOf(d[i]).doubleValue(); } System.out.println(s1 + "=" + sumd + " double型"); } else// 结果是int { String p[] = s1.split("[+]"); for (int i = 0; i < p.length; i++) { if (p[i].split("[-]").length == 1) sumi += Integer.valueOf(p[i]).intValue(); } // 再分割出被减数 String d[] = s1.split("[-]"); for (int i = 0; i < d.length; i++) { if (d[i].split("[+]").length == 1) sumi -= Integer.valueOf(d[i]).intValue(); } System.out.println(s1 + "=" + sumi + " int型"); } } } }
相关文章推荐
- eclipse用android真机调试程序出现的问题
- Java中获取完整的url
- Java作业——学籍管理系统
- Google地图百度地图GPS经纬度偏移转换(JAVA)
- 10020---Java WEB实现URL重写的优缺点及如何实现
- J2EE项目中使用Spring 4及.properties文件UTF-8编码问题
- jdk与jre的区别
- java动态代理
- 停止Java线程,小心interrupt()方法
- Dubbo与Zookeeper、Spring整合和使用
- leetcode_java_adddigits
- Java访问权限修饰符
- Spring单例与线程安全小结
- java 堆和栈
- ubuntu如何完全卸载Java
- Struts2_Constant标签认识以及查文件源码和api文档[6]
- 几个主流的Java连接池整理 (转) (2012-01-04 23:48:02)转载▼
- 学习Struts2_0300
- java eclipse注释代码的快捷键
- Java中参数传递机制