public class Hello{
public static void main(String[]args){
System.out.println("nothing" );
}
}
class name{
static void main(String[]args){
System.out.println("陈玉松");
}
}
class living{
static void main(String[]args){
System.out.println("四川成都");
}
}
class belonging{
static void main(String[]args){
System.out.println("四川province");
}
}
class gender{
static void main(String[]args){
System.out.println("male");
}
}
只有 public static 修饰的main方法才是程序入口方法, 其他的都理解为 内部的静态方法
一个程序只能有一个主函数,也叫入口函数,程序启动就自动执行
你的public class是主类,里面的main是主函数
其他的函数需要你在main里调用
没人调用它怎么可能会走呢
class tree//haffman tree
{
public :
int times;//hez
char data;//data
int code;//字符
int code_len;//字符长度
tree *left_tree,*right_tree;
tree(){times=code=code_len=0;data=NULL;left_tree=right_tree=0;}
~tree()
{
if(left_tree)
delete left_tree;
if(right_tree)
delete right_tree;
}
void preoeder(int,int);//先序遍历,生成haffman编码
};
class haffman
{
private:
char first_name[100];//被压缩的名字(用来存路径)
char final_name[100];//
char code_name[100];//
tree *bas[551];//基础字符编码树
tree *haff_root;//根节点
int bas_len;//基础字符树个数
char *buffer,*r;//缓冲区,读入文件内容
int lenth;//读入内容长度
int max_bu,bu;//最大缓冲区段基值,偏移量
QString formulate;
public :
double origin_size,final_size;
haffman()
{
haff_root=NULL;
buffer = new char [10*1024*1024];//1m=1024kb 1kb=1024b;
r= new char [10*1021*1024];
memset(bas,0,sizeof(bas));
}
~haffman()
{
delete buffer;
delete r;
delete haff_root;
}
void read(QString s);
void count();//计算字符出现频率
void new_sort(tree *a[],int,int);//快排
void make_haffman();//生成haffman树
void wbit(int);//向缓冲区写入一个字节
void zip();
void write(QString);//写入文件缓冲区中的内容
void savecode();//保存haffman编码和缓冲区大小,供解压用
void readbuffer(QString);//读入压缩文件内容到缓冲区
void readcode();//读取haffman编码和缓冲区大小,供解压用
void unzip(QString);
};
具体的函数实现有注释 但值得一提的是
缓冲区的数据可以写入被压缩的文件(这样就只会生成一个文件),也就是我们常用的压缩软件
本文的将其独立出来为.code为了真实的计算压缩之后和压缩之前的之比
(作业要求QAQ)
当然如果你有兴趣可以自己合并
问题出在代码的最后,当创建Cat类的实例时,没有调用该实例的方法。因此,只输出了之前的狗的名字。
要解决这个问题,只需要在创建Cat类的实例后,调用相应的方法即可。
修改后的代码如下:
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print("汪汪,我的名字是" + self.name)
dog1 = Dog("旺财")
dog1.bark()
class Cat:
def __init__(self, name):
self.name = name
def meow(self):
print("喵喵,我的名字是" + self.name)
cat1 = Cat("小白")
cat1.meow()
运行上面的代码,即可成功输出狗的名字和猫的名字。