1、编写程序完成阿拉伯数字到中文数字的转换。
要求:运行后对每次输入做判断,如果是exit就终止程序,当初不是exit时,每输入一位0-9的拉伯数字,输出一个中文数字,例如输入"9"就输出"九"。
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
String s;
Scanner in = new Scanner(System.in);
s = in.nextLine();
switch(s) {
case "0": System.out.println("零");break;
case "1": System.out.println("一");break;
case "2": System.out.println("二");break;
case "3": System.out.println("三");break;
case "4": System.out.println("四");break;
case "5": System.out.println("五");break;
case "6": System.out.println("六");break;
case "7": System.out.println("七");break;
case "8": System.out.println("八");break;
case "9": System.out.println("九");break;
}while(!s.equals("exit"));
in.close();
}
}
2、已知一个类person如下:
class Person1{
String name;
public void ShowName(){
System.out.println("My nane is "+name);
}
}
要求:
1、继承person新建一个类student
2、增加变量school类型为string
3、仿造 showName方法的样式,增加方法showSchool功能是输出当前对象的school属性。4、实例化一个student对象name赋值为光头强,school赋值为熊出没
class Person1{
String name;
public void ShowName(){
System.out.println("My nane is "+name);
}
}
class Student1 extends Person1{
String school;
public void ShowSchool(){
super.ShowName();
System.out.println("My school is "+school);
}
}
public class test2 {
public static void main(String[] args){
Student1 s = new Student1();
s.name="光头强";
s.school="熊出没";
s.ShowSchool();
}
}
3、已知一个类class1如下:
class Class1{
Class1(){
System.out.println("这是构造函数");
}
void show(){
System.out.println("Hello!");
}
}
要求:
1、对class1进行修改,重载class1的pprint方法输入参数为应时输出字符串“这是整数”。
2、对class1进行修改错增加构造函数,内容是输出字符串“这是构造函数”。
3、使用匿名类的方式声明一个class1对象,对象名为cc并重写数,方法为输出字符串“HelloWorld!”。
import java.util.Scanner;
class class1{
void show(){
System.out.println("Hello");
}
public class1 (){
System.out.println("这是构造函数");
}
void pprint(String arg){
System.out.println("这是字符串");
}
void pprint(int arg){
System.out.println("这是整数");
}
}
public class test3 {
public static void main(String[] args){
class1 cc = new class1(){
void show(){
System.out.println("Hello World!");
}
};
cc.pprint(4);
cc.pprint("傻逼");
cc.show();
//Scanner in = new Scanner(System.in);
//cc.pprint(in.next()); 之前答题时以为题目说的输入参数是从键盘输入
//就设置了scanner,不过没弄完就到时间了,今晚回来搞了下
Scanner in = new Scanner(System.in);
cc.pprint(in.next());//string,为什莫输入2*(整数)也显示这是字符串?
cc.pprint(in.nextInt());//int,而输入S(字符串)显示错误?
}
}
二、读程题
1、下面程序的输出结果:
class Myclass{
static int member;
}
public class test {
public static void main(String[] args) {
Myclass A = new Myclass();
Myclass B = new Myclass();
Myclass.member = 1;
A.member=2;
B.member=3;
System.out.println("member = "+ Myclass.member);
}
}
结果:member = 3
分析:考静态变量
(1)
对于不是private的静态变量,可以在该类外用类名调用,例如以上:在Test类用Myclass类名调用非private类型的静态变量member。
(2)
静态变量只在系统加载其所在类时分配空间并初始化,并且在创建该类的实例时,不再分配空间,所有实例将共享类的静态变量。
2、下面程序输出结果是:
class Super{
public int i = 0;
public Super() {}
public Super(String text) {
i = 1;
}
}
public class Sub extends Super{
public Sub() {}
public Sub(String text) {
super("");
i =2;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Sub sub = new Sub("Hello");
System.out.println(sub.i);
}
}
//结果:
//2
读到super("")就有些懵了,删掉就报错:
Implicit super constructor Super() is undefined. Must explicitly invoke another constructor
隐式 super构造函数Super()未定义。必须显式调用另一个构造函数
然后网查到一篇关于调用父类构造函数的文:
java继承—调用父类构造函数:(https://blog.csdn.net/u012501054/article/details/78041606)
就简单说下上面的代码:父类未定义无参数构造函数,用super("")自动调用父类中自动生成的无参数构造函数
(就先这么理解了,后面再深入了解吧)
3.读程题
public class Foo {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 1;
int j = i++;//i=1赋给j,之后i++ i自加,i=2
//System.out.println(i);结果:2
//System.out.println(j);结果:1
if(++i>j&&(i++ == j)){
//++i,i先自加i=2+1,再与j比较;i赋给j,再i自加,i=3+1
i += j;
}
System.out.println(i);//结果:4
}
}
4、
public class TestDemo{
int m = 5 ;
public viod some(int x){
m = x;
}
public static void main(String[] args){
new Demo().some(7);//结果:8
}
}
class Demo extends TestDemo{
int m = 8;
public void some(int x){
super.some(x);
System.out.println(m);
}
}
唉~不知道到时为什么那么纠结