java习题
谁有编程题,是入门的。有解析更好。若好的话再加分。谢谢。
追问:有解析没。有的话请你把题目和解析发过来 dzpwlb@qq.com谢谢
谁有编程题,是入门的。有解析更好。若好的话再加分。谢谢。
追问:有解析没。有的话请你把题目和解析发过来 dzpwlb@qq.com谢谢
答案:一、课堂组织:1分钟二、实验内容:89分钟
1、编写一个java程序,完成以下功能:
声明一个名为s的String对象,并使它的内容是“Call me Accp.”。
打印整个字符串。
使用length()方法打印字符串的长度。
使用charAt()方法打印字符串的第一个字符。
使用charAt()方法和length()打印字符串的最后一个字符。
使用indexOf()方法和subString()方法打印字符串的第一个单词。
2、编写一个Java程序,用于:
测试两个字符串String firstString=”This is”和String secondString=”This is”;是否相等。
将”his father”与其中的firstString字符串连接。
用z替换新字符串中的i。
3、请计算出距当前时间100天后的日期时间,并用“XXXX年XX月XX日”的格式输出。
4、创建一个mymath包并在其中定义Mathoperations类。该类定义3个方法,即add()、sub()和multiply(),分别执行加法、减法和乘法运算。创建另一个可以导入此包的类并使用这些方法计算值。
分析:
该程序由3个方法组成,可以执行3种运算。因此,要执行这些运算,应给这些方法传递num1和num2变量。使用这些值执行方法后,这些方法将返回结果值。用于计算的值由导入mymath包的另一个类来传递。
5、向mymath包再添加一个Palindrome类,这个类应该检查指定的字符串时候为palindrome。将字符串作为命令行参数,在UseMathsPalin.java文件中创建该类的对象,并访问用于检查字符串是否为palindrome的方法。UseMathsPalin.java还应该显示上题中MathOperations.java文件的输出结果。
分析:
使用String类的toString()方法,创建StringBuffer类的对象并访问reverse()和toString()方法以执行检查。创建MathOperations类的对象并传递值以访问add()、sub()和multiply()方法。
6、编写一个程序,检查字符串是否为合法的Java标识符。
7、构建一个Occurrences程序,查找字符“e”在字符串“Seize the day”中出现的次数。
8、编写一个ExtractString程序,从字符串“Seize the Day”中提取单词“the”和“Day”。
9、编写一个Converse程序,分别将作为命令行参数传递的整型值转换为二进制、十六进制以及八进制数值,使用Integer类的方法可以完成此任务。
10、编写一个程序,用于生成10个随机字符并检查生成的每个字符是元音字母还是辅音字母,并且生成的每个字符都应该是大写形式。
11、编写一个程序,用于显示特定年份中某个月的日历。月和年应从命令行参数接受。如果用户没有输入月和年,则应显示当前月和年的日历。输出结果应如图所示:
提示:
(1) 将月份的名称和每个月的天数存储在数组中。
(2) 获取特地月份的名称和最大天数。
(3) 创建GregorianCalendar类的实例。
(4) 使用Calendar.DAY_OF_WEEK常量获取月份的第一天。
(5) 系统当前日期的获取。
Calendar today=Calendar.getInstance();
month=today.get(Calendar.MONTH);
year=today.get(Calendar.YEAR);
(6)显示日历。
1. 验证例题:某学员3门课成绩,编程实现:(1)Java课和SQL课的分数之差(2)3门课的平均分
2. 求两个整数相除的商和余数。
3. 利用%和/运算符,完成num=8461各位数的分离,即分别输出数的千位、百位、十位和个位。
4. 编程实现小写字母转换成大写字母。
5. 验证作业:实现一个数字加密器,加密规则是:加密结果 = (整数*10+5)/2 + 3.14159,加密结果仍为一整数。
6. 求3个数中的最大数。
7. 黄金周森林公园门票优惠:购票10张以下,票价20元;购票10到19张,票价15元;购票20张到29张,票价10元;购票30张以上,票价8元。请编写程序,根据购票数量计算票款总额。
8. 将3个数按从小到大的顺序排列。
9. 使用while和do-while语句分别实现求1-100之间自然数的和,并验证当循环条件第一次不被满足时两种循环结构的运行情况。
10. 验证加法表的输出问题。
11. 验证求从键盘输入的5个数的平均数问题,并进一步验证当输入数为负数给出错误提示的问题。
12. 实现培养学员问题(两种循环条件)。
13. 摄氏温度与华氏温度的转换表输出问题。
14. 1~10之间的整数相加,得到累加值大于20的当前数。
15. 求从键盘输入的5个数中的最大数。
16. 使用数组求从键盘输入的5个学生成绩的平均分。
17. 从键盘输入5个数,利用数组排序,并求其中的最大数。
18. 用Java语言描述“盒子类”。
盒子的属性:长、宽、高
盒子的方法:计算体积
编写测试类,为盒子的属性赋初始值,并计算体积。
使用无参数的构造方法为盒子设置初始值,编写测试类,并计算体积。
使用带参数的构造方法为盒子设置初始值,编写测试类,并计算体积。
19. 定义一个学生类Student,属性为学生的姓名和学号,定义构造方法,用于对成员变量赋值,创建测试类用于显示姓名和学号。
20. 创建一个类Students,属性为姓名和年龄。先使用默认构造方法对name和age变量赋值。再使用参数化构造方法,以传递姓名和年龄的值。再定义一个方法,同时显示两个属性的值。创建测试类创建两个对象分别用两种构造方法进行初始化,并显示姓名和年龄。
21. 编写一个包含名为Calculator类的程序。定义两个属性变量,编写用于执行加、减、乘、除运算的方法。在此程序中使用带参数的构造方法,并编写测试类创建该类的对象并访问这些方法。
22. 编写Student类,描述属性:姓名、年龄和专业,分别使用无参数化构造方法和带参数的构造方法进行初始化,编写study() 、program()、display()方法。编写测试类,调用Student类的方法。
我这有一些,如果需要,可以加。 690 376 702
LZ你好:这是一部分的JAVA程序员的面试题
第一,谈谈final, finally, finalize的区别。
final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
第三,Static Nested Class 和 Inner Class的不同
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见 http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
第四,&和&&的区别。
&是位运算符。&&是布尔逻辑运算符。
第五,HashMap和Hashtable的区别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
第六,Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
第七,什么时候用assert。
断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 Assertionerror。它用于调试目的:
assert(a > 0); // throws an Assertionerror if a <= 0
断言可以有两种形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 应该总是产生一个布尔值。
Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:
javac -source 1.4 Test.java
要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。
要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。
要系统类中启用断