两道运行不了的java程序题,请帮我修改下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/10 14:49:14
第一道:
class Ta {
public void f() { System.out.println("Ta f");}
}
class Tb extends Ta {
public void f() { System.out.println("Tb f");}
}
public class Exer2{
static void func(Ta a1) (a1.f();}
public static void main(String[] args) {
Ta a1=new Ta(); func(a1);
Tb b1=new Tb(); func(b1);
}
}

第二道class Cruncher{
void crunch( int i ){
System.out.println("int"); }
void crunch(String s){
System.out.println("String");}
public static void main(String args[]){
Cruncher crun=new Cruncher ( );
char ch='h';
int i=12;
crun.crunch(ch);
System.out.println(",");
crun.crunch(i); }
}

class Ta {
public void f() { System.out.println("Ta f");}
}
class Tb extends Ta {
public void f() { System.out.println("Tb f");}
}
public class Exer2{
static void func(Ta a1) {
a1.f(); //问题出在这里面,你将“{”打成了“(”
}
public static void main(String[] args) {
Ta a1=new Ta(); func(a1);
Tb b1=new Tb(); func(b1);
}
}

第二个
class Cruncher{
void crunch( int i ){
System.out.println("int"); }
void crunch(String s){
System.out.println("String");}
public static void main(String args[]){
Cruncher crun=new Cruncher ( );
String str="h";//这里应该是String型的,而不是 char型的.因为你想重载的那个函数所需要传递的参数是String型的的
int i=12;
crun.crunch(str);
System.out.println(",");
crun.crunch(i); }
}

第一个程序里边的错误是
static void func(Ta a1) (a1.f();}

应该是static void func(Ta a1) {a1.f();}
是花括号的问题,
改正后运行结果是