Rumah >Java >javaTutorial >用实体类工具使C++实现的生成java

用实体类工具使C++实现的生成java

一个新手
一个新手asal
2017-09-08 14:03:222199semak imbas


前言

原因是这样的,eclipse有那种生成实体类的插件,可是我感觉装来装去很麻烦,于是我想,干脆自己做一个生成实体类的工具吧,说做就做,然后就自己花了两个小时左右做出来了一个,以后应该能大大提高工作效率吧。

实现方法

输入:属性个数
输入:type virableName
输出:d盘下面的example文件,该文件里面生成了实体类的代码

原理就是填充数据而已。。。根本没有难度
然后用了map模板把数据存起来了

使用截图

这里写图片描述
**这个是数据截图,CKCommand表示类,5表示有几个属性,剩下的都是数据属性
然后把这个数据复制进控制台运行就可以了**

这里写图片描述
运行截图

最后的实体类截图
这里写图片描述
注意去D盘下面找

代码

#include  <iostream>
#include  <string>
#include <map>
#include <fstream>
using namespace std;
int main()
{    
      int num;  //总体的成员个数
    string  which1, Vname,classname;    
    map<string, string > mapStudent;    //这个我服了
    map <string, string >::iterator m1_Iter;    
    cin >> classname;    
    cin >> num;    
    for (int i = 0; i<num; i++){        
    cin >> which1 >> Vname;

        mapStudent[Vname] = which1;

    }    
    
    cout << "Congratulation that you are success!"<<endl;

    ofstream examplefile("d:\\example.txt");    
    if (examplefile.is_open())
    {
        examplefile << "class "<<classname<<" implements Serializable{\n\n";        
        for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){            
        //cout << "diyige " << m1_Iter->first << "    " << m1_Iter->second.first << "  " << m1_Iter->second.second << endl;
            examplefile <<"    private "<< m1_Iter->second << " " << m1_Iter->first <<";\n";
        }        
        
        //first constructor
        examplefile << "\n//无参数的构造器\n";
        examplefile << "  public " << classname << "(){\n";
        examplefile << "\n";
        examplefile << "  }\n\n";        //第二个构造器
        examplefile << "//有参数的构造器\n";
        examplefile << "  public " << classname << "(";   //打印到括号地方了
        for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){            
        if (m1_Iter != mapStudent.end()){
                examplefile << m1_Iter->second << " " << m1_Iter->first << ",";
            }            else{
                examplefile << m1_Iter->second << " " << m1_Iter->first;
            }
        }
        examplefile << "){\n";               //构造函数里面的内容
        for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){            //examplefile << m1_Iter->second.first << " " << m1_Iter->second.second << ",";
            examplefile << "      this." << m1_Iter->first << " = " << m1_Iter->first << ";\n";

        }
        examplefile << "  }\n";        
        //----------------------------- 构造函数内容结束---------------------------------

        //----------------------------- get方法开始--------------------------------------
        examplefile << "\n//GET跟SET方法都在这里\n";        
        for (m1_Iter = mapStudent.begin(); m1_Iter != mapStudent.end(); m1_Iter++){            //examplefile << m1_Iter->second.first << " " << m1_Iter->second.second << ",";
            //examplefile << "this." << m1_Iter->second.second << " = " << m1_Iter->second.second << "\n";
            examplefile << "  public " << m1_Iter->second << " Get" << m1_Iter->first << "(){\n";
            examplefile << "      return " << m1_Iter->first << ";\n";
            examplefile << "  }\n\n";            
            //--------------------------------set方法继续--------------------------------
            examplefile << "  public void Set" << m1_Iter->first << "(" << m1_Iter->second << " " << m1_Iter->first\
                << "){\n";
            examplefile << "      this." << m1_Iter->first << "=" << m1_Iter->first<< ";\n";
            examplefile << "  }\n\n";
        }        
                //完结撒花
        examplefile << "}\n";
        examplefile.close();
    }
    system("pause");    return 0;
}

Atas ialah kandungan terperinci 用实体类工具使C++实现的生成java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn