用函数来表示你就明白了
int is_max(int a, int b)//第一个int是表示函数is_max的返回值,也就是函数到最后一定要返回到调用的地方一个int类型的值。
if(a>b)
return 1;。
if(a=b)
return 0;。
if(a
追问:
一般return
1是成功,0是失败,-1是不存在?
要是我return
50
or
return
100是什么意思?
追答:
这个要你自己定义啊,自己也可以让它返回一个数组,。
指针,结构体等等,
return
50表示,
是函数计算后的值,还是什么其它意思,你自己写的函数你自己才知道,。
如果是API,
MFC,
C/C++的有它自己的特殊意义。
返回的值也可以丢弃,比如上面个例子,。
调用时:
is_max(a,b);
表示我不关心它的返回值,
不接收.
评论
加载更多
用函数来表示你就明白了
int is_max(int a, int b)//第一个int是表示函数is_max的返回值,也就是函数到最后一定要返回到调用的地方一个int类型的值。
if(a>b)
return 1;。
if(a=b)
return 0;。
if(a<b)
return -1;。
void main()
int x=5,y=4;。
int re=is_max(a,b);//函数把返回值赋给re变量。
if(re==1)
printf("x大于y");。
if(re==0)
printf("x等于y");。
if(re==-1)
printf("x小于y");。
这样明白了吗?
可以使用递归来实现对表达式 `1-2+3-4……-100` 求和。递归算法的基本思路是将一个大问题分解成多个相同或类似的小问题,然后将这些小问题按照一定规律组合成大问题的解。对于这道题,可以将表达式 `1-2+3-4……-100` 分解成两个子问题:
- 1-2+3-4……-98-99+100。
- -99+100
然后对每个子问题递归求解即可。
具体的递归算法可以这样实现:
```c
int sum = 0; // 定义变量 sum 存储表达式的和。
int calc(int n) { // 定义递归函数 calc,n 表示当前计算的数值。
if (n == 1) {。
return 1; // 表达式中只有一个数值 1,直接返回 1。
}
if (n % 2 == 0) {。
return -n + calc(n - 1); // 当前数值为偶数,则加上负号。
} else {
return n + calc(n - 1); // 当前数值为奇数,则加上正号。
}
int main() {
sum = calc(100); // 计算表达式的总和。
printf("表达式的和为:%d。
", sum);
return 0;
```
运行结果为:
```
表达式的和为:-50
```
其中,`calc(n)` 函数用于递归计算表达式前 n 个数的和。如果当前 n 为奇数,则返回 `n + calc(n - 1)`;如果当前 n 为偶数,则返回 `-n + calc(n - 1)`。最终的表达式和存储在变量 `sum` 中,通过 `printf` 函数输出。
需要注意的是,在实际的应用中,递归算法往往会带来额外的开销、增加内存负荷,所以需要根据具体问题的规模和复杂度来选择算法。对于本题,迭代算法也可以轻松实现,效率更高。
直接编译运行!!!
不知道你是要查看压缩文件还是要解压文件,所以发上来两个。
第一个可以查看各个压缩项目;
第二个可以解压文件。
import java.awt.*;。
import java.awt.event.*;。
import java.io.*;。
import java.util.*;。
import java.util.zip.*;。
import javax.swing.*;。
import javax.swing.filechooser.FileFilter;。
class ZipTest {。
public static void main(String[] args) {。
ZipTestFrame frame = new ZipTestFrame();。
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);。
frame.setVisible(true);。
}
class ZipTestFrame extends JFrame {。
private JComboBox fileCombo;。
private JTextArea fileText;。
private String zipname;。
public ZipTestFrame() {。
setTitle("ZipTest");。
setSize(400,300);。
JMenuBar menuBar = new JMenuBar();。
JMenu menu = new JMenu("File");。
JMenuItem openItem = new JMenuItem("Open");。
menu.add(openItem);。
openItem.addActionListener(new OpenAction());。
JMenuItem exitItem = new JMenuItem("Exit");。
menu.add(exitItem);。
exitItem.addActionListener(new ActionListener() {。
public void actionPerformed(ActionEvent event) {。
System.exit(0);。
}
});
menuBar.add(menu);。
setJMenuBar(menuBar);。
fileText = new JTextArea();。
fileCombo = new JComboBox();。
fileCombo.addActionListener(new ActionListener() {。
public void actionPerformed(ActionEvent event) {。
loadZipFile((String)fileCombo.getSelectedItem());。
}
});
add(fileCombo, BorderLayout.SOUTH);。
add(new JScrollPane(fileText), BorderLayout.CENTER);。
}
public class OpenAction implements ActionListener {。
public void actionPerformed(ActionEvent event) {。
JFileChooser chooser = new JFileChooser();。
chooser.setCurrentDirectory(new File("."));。
ExtensionFileFilter filter = new ExtensionFileFilter();。
filter.addExtension(".zip");。
filter.addExtension(".jar");。
filter.setDescription("ZIP archives");。
chooser.setFileFilter(filter);。
int r = chooser.showOpenDialog(ZipTestFrame.this);。
if(r == JFileChooser.APPROVE_OPTION) {。
zipname = chooser.getSelectedFile().getPath();。
scanZipFile();。
}
}
}
public void scanZipFile() {。
fileCombo.removeAllItems();。
try {
ZipInputStream zin = new ZipInputStream(new FileInputStream(zipname));。
ZipEntry entry;。
while((entry = zin.getNextEntry()) != null) {。
fileCombo.addItem(entry.getName());。
zin.closeEntry();。
}
zin.close();。
} catch(IOException e) {。
e.printStackTrace();。
}
}
public void loadZipFile(String name) {。
try {
ZipInputStream zin = new ZipInputStream(new FileInputStream(zipname));。
ZipEntry entry;。
fileText.setText("");。
while((entry = zin.getNextEntry()) != null) {。
if(entry.getName().equals(name)) {。
BufferedReader in = new BufferedReader(new InputStreamReader(zin));。
String line;。
while((line = in.readLine())!=null) {。
fileText.append(line);。
fileText.append("\n");。
}
}
zin.closeEntry();。
}
zin.close();。
} catch(IOException e) {。
e.printStackTrace();。
}
}
class ExtensionFileFilter extends FileFilter {。
private String description = "";。
private ArrayList<String>extensions = new ArrayList<String>();。
public void addExtension(String extension) {。
if(!extension.startsWith("."))。
extension = "." + extension;。
extensions.add(extension.toLowerCase());。
}
public void setDescription(String aDescription) {。
description = aDescription;。
}
public String getDescription() {。
return description;。
}
public boolean accept(File f) {。
if(f.isDirectory()) return true;。
String name = f.getName().toLowerCase();。
for(String e : extensions)。
if(name.endsWith(e)) 。
return true;。
return false; 。
}
///////////////////////////////////////////////////////////。
/**
*类名:zipFileRelease。
*说明:一个zip文件解压类。
*介绍:主要的zip文件释放方法releaseHandle()。
* 用ZipInputStream类和ZipEntry类将zip文件的入口清单列举出来,然后。
* 根据用户提供的输出路径和zip文件的入口进行组合通过DataOutputStream。
* 和File类进行文件的创建和目录的创建,创建文件时的文件数据是通过。
* ZipInputStream类、ZipEntry类、InputStream类之间的套嵌组合获得的。
*注意:如果zip文件中包含中文路径程序将会抛出异常。
*/
import java.io.*;。
import java.util.*;。
import java.util.zip.*;。
class zipFileRelease{。
private String inFilePath;。
private String releaseFilePath; 。
private String[] FileNameArray; //存放文件名称的数组 。
private ZipEntry entry; 。
//
private FileInputStream fileDataIn;。
private FileOutputStream fileDataOut;。
private ZipInputStream zipInFile; 。
private DataOutputStream writeData;。
private DataInputStream readData;。
//
private int zipFileCount = 0; //zip文件中的文件总数。
private int zipPathCount = 0; //zip文件中的路径总数。
/**
*初始化函数
*初始化zip文件流、输出文件流以及其他变量的初始化。
*/
public zipFileRelease(String inpath,String releasepath){。
inFilePath = inpath;。
releaseFilePath = releasepath;。
}
/**
*初始化读取文件流函数
*参数:FileInputStream类。
*返回值:初始化成功返回0,否则返回-1。
*/
protected long initInStream(ZipInputStream zipFileA){。
try{
readData = new DataInputStream(zipFileA);。
return 0;
}catch(Exception e){。
e.printStackTrace();。
return -1;
}
}
/**
*测试文件路径
*参数:zip文件的路径和要释放的位置。
*返回值:是两位整数,两位数中的十位代表输入路径和输出路径(1输入、2输出)。
* 各位数是代表绝对路径还是相对路径(1绝对、0相对)。
* 返回-1表示路径无效。
protected long checkPath(String inPath,String outPath){。
File infile = new File(inPath);。
File infile = new File(outPath);。
}
*/
/**
*初始化输出文件流
*参数:File类
*返回值:初始化成功返回0,否则返回-1。
*/
protected long initOutStream(String outFileA){。
try{
fileDataOut = new FileOutputStream(outFileA);。
writeData = new DataOutputStream(fileDataOut);。
return 0;
}catch(IOException e){。
e.printStackTrace();。
return -1;
}
}
/**
*测试文件是否存在方法
*参数:File类
*返回值:如果文件存在返回文件大小,否则返回-1。
*/
public long checkFile(File inFileA){。
if (inFileA.exists()){。
return 0;
}else{
return -1;
}
}
/**
*判断文件是否可以读取方法。
*参数:File类
*返回值:如果可以读取返回0,否则返回-1。
*/
public long checkOpen(File inFileA){。
if(inFileA.canRead()){。
return inFileA.length();。
}else{
return -1;
}
}
/**
*获得zip文件中的文件夹和文件总数。
*参数:File类
*返回值:如果正常获得则返回总数,否则返回-1。
*/
public long getFilFoldCount(String infileA){。
try{
int fileCount = 0;。
zipInFile = new ZipInputStream(new FileInputStream(infileA));。
while ((entry = zipInFile.getNextEntry()) != null){。
if (entry.isDirectory()){。
zipPathCount++;。
}else{
zipFileCount++;。
}
fileCount++;。
}
return fileCount;。
}catch(IOException e){。
e.printStackTrace();。
return -1;
}
}
/**
*读取zip文件清单函数
*参数:File类
*返回值:文件清单数组
*/
public String[] getFileList(String infileA){。
try{
ZipInputStream AzipInFile = new ZipInputStream(new FileInputStream(infileA));。
//创建数组对象
FileNameArray = new String[(int)getFilFoldCount(infileA)];。
//将文件名清单传入数组。
int i = 0;
while ((entry = AzipInFile.getNextEntry()) != null){。
FileNameArray[i++] = entry.getName(); 。
}
return FileNameArray;。
}catch(IOException e){。
e.printStackTrace();。
return null;。
}
}
/**
*创建文件函数
*参数:File类
*返回值:如果创建成功返回0,否则返回-1。
*/
public long writeFile(String outFileA,byte[] dataByte){。
try{
if (initOutStream(outFileA) == 0){。
writeData.write(dataByte);。
fileDataOut.close();。
return 0;
}else{
fileDataOut.close();。
return -1;
}
}catch(IOException e){。
e.printStackTrace();。
return -1;
}
}
/**
*读取文件内容函数
*参数:File类
*返回值:如果读取成功则返回读取数据的字节数组,如果失败则返回空值。
*/
protected byte[] readFile(ZipEntry entryA,ZipInputStream zipFileA){。
try{
long entryFilelen;。
if (initInStream(zipFileA) == 0){。
if ((entryFilelen = entryA.getSize()) >= 0){。
byte[] entryFileData = new byte[(int)entryFilelen];。
readData.readFully(entryFileData,0,(int)entryFilelen);。
return entryFileData;。
}else{
return null;。
}
}else{
return null;。
}
}catch(IOException e){。
e.printStackTrace();。
return null;。
}
}
/**
*创建目录函数
*参数:要创建目录的路径
*返回值:如果创建成功则返回0,否则返回-1。
*/
public long createFolder(String dir){。
File file = new File(dir);。
if (file.mkdirs()) {。
return 0;
}else{
return -1;
}
}
/**
*删除文件
*参数:要删除的文件
*返回值:如果删除成功则返回0,要删除的文件不存在返回-2。
* 如果要删除的是个路径则返回-3,删除失败则返回-1。
*/
public long deleteFile(String Apath) throws SecurityException {。
File file = new File(Apath.trim());。
//文件或路径不存在
if (!file.exists()){。
return -2;
}
//要删除的是个路径
if (!file.isFile()){。
return -3;
}
//删除
if (file.delete()){。
return 0;
}else{
return -1;
}
}
/**
*删除目录
*参数:要删除的目录
*返回值:如果删除成功则返回0,删除失败则返回-1。
*/
public long deleteFolder(String Apath){。
File file = new File(Apath);。
//删除
if (file.delete()){。
return 0;
}else{
return -1;
}
}
/**
*判断所要解压的路径是否存在同名文件。
*参数:解压路径
*返回值:如果存在同名文件返回-1,否则返回0。
*/
public long checkPathExists(String AreleasePath){。
File file = new File(AreleasePath);。
if (!file.exists()){。
return 0;
}else{
return -1;
}
}
/**
*删除zip中的文件
*参数:文件清单数组,释放路径。
*返回值:如果删除成功返回0,否则返回-1。
*/
protected long deleteReleaseZipFile(String[] listFilePath,String releasePath){。
long arrayLen,flagReturn;。
int k = 0;
String tempPath; 。
//存放zip文件清单的路径。
String[] pathArray = new String[zipPathCount];。
//删除文件
arrayLen = listFilePath.length;。
for(int i=0;i<(int)arrayLen;i++){。
tempPath = releasePath.replace('\\','/') + listFilePath[i];。
flagReturn = deleteFile(tempPath);。
if (flagReturn == -2){。
//什么都不作
}else if (flagReturn == -3){。
pathArray[k++] = tempPath;。
}else if (flagReturn == -1){。
return -1;
}
}
//删除路径
for(k = k - 1;k>=0;k--){。
flagReturn = deleteFolder(pathArray[k]);。
if (flagReturn == -1) return -1;。
}
return 0;
}
/**
*获得zip文件的最上层的文件夹名称。
*参数:zip文件路径
*返回值:文件夹名称,如果失败则返回null。
*/
public String getZipRoot(String infileA){。
String rootName;。
try{
FileInputStream tempfile = new FileInputStream(infileA);。
ZipInputStream AzipInFile = new ZipInputStream(tempfile);。
ZipEntry Aentry;。
Aentry = AzipInFile.getNextEntry();。
rootName = Aentry.getName();。
tempfile.close();。
AzipInFile.close();。
return rootName; 。
}catch(IOException e){。
e.printStackTrace();。
return null;。
}
}
/**
*释放流,释放占用资源
*/
protected void closeStream() throws Exception{。
fileDataIn.close();。
fileDataOut.close();。
zipInFile.close();。
writeData.flush();。
}
/**
*解压函数
*对用户的zip文件路径和解压路径进行判断,是否存在和打开。
*在输入解压路径时如果输入"/"则在和zip文件存放的统计目录下进行解压。
*返回值:0表示释放成功
* -1 表示您所要解压的文件不存在、
* -2表示您所要解压的文件不能被打开、
* -3您所要释放的路径不存在、
* -4您所创建文件目录失败、
* -5写入文件失败、
* -6表示所要释放的文件已经存在、
* -50表示文件读取异常。
*/
public long releaseHandle() throws Exception{。
File inFile = new File(inFilePath);。
File outFile = new File(releaseFilePath);。
String tempFile;。
String zipPath;。
String zipRootPath;。
String tempPathParent; //存放释放路径。
byte[] zipEntryFileData;。
//作有效性判断
if (checkFile(inFile) == -1) {。
return -1;}
if (checkOpen(inFile) == -1) {。
return -2;}
//不是解压再当前目录下时对路径作有效性检验。
if (!releaseFilePath.equals("/")){。
//解压在用户指定目录下。
if (checkFile(outFile) == -1) {。
return -3;}。
}
//获得标准释放路径 。
if (!releaseFilePath.equals("/")) {。
tempPathParent = releaseFilePath.replace('\\','/')+ "/";。
}else{
tempPathParent = inFile.getParent().replace('\\','/')+ "/"; 。
}
//获得zip文件中的入口清单。
FileNameArray = getFileList(inFilePath);。
//获得zip文件的最上层目录。
zipRootPath = getZipRoot(inFilePath);。
//
fileDataIn = new FileInputStream(inFilePath);。
zipInFile = new ZipInputStream(fileDataIn);。
//判断是否已经存在要释放的文件夹。
if (zipRootPath.lastIndexOf("/") > 0 ){。
if (checkPathExists(tempPathParent + 。
zipRootPath.substring(0,zipRootPath.lastIndexOf("/"))) == -1){。
return -6;。
}
}else{
if (checkPathExists(tempPathParent + zipRootPath) == -1){。
return -6;。
}
}
//
try{
//创建文件夹和文件
int i = 0;
while ((entry = zipInFile.getNextEntry()) != null){。
if (entry.isDirectory()){。
//创建目录
zipPath = tempPathParent + FileNameArray[i]; 。
zipPath = zipPath.substring(0,zipPath.lastIndexOf("/"));。
if (createFolder(zipPath) == -1){。
closeStream();。
deleteReleaseZipFile(FileNameArray,tempPathParent);。
return -4;。
}
}else{
//读取文件数据
zipEntryFileData = readFile(entry,zipInFile);。
//向文件写数据
tempFile = tempPathParent + FileNameArray[i];。
//写入文件
if (writeFile(tempFile,zipEntryFileData) == -1){。
closeStream();。
deleteReleaseZipFile(FileNameArray,tempPathParent);。
return -5;。
}
}
i++;
}
//释放资源
closeStream();。
return 0;
}catch(Exception e){。
closeStream();。
deleteReleaseZipFile(FileNameArray,tempPathParent);。
e.printStackTrace();。
return -50;
}
}
/**
*演示函数
*根据用户输入的路径对文件进行解压。
*/
public static void main(String args[]) throws Exception {。
long flag; //返回标志。
String inPath,releasePath;。
//获得用户输入信息
BufferedReader userInput = new BufferedReader(。
new InputStreamReader(System.in));。
System.out.println("请输入zip文件路径:");。
inPath = userInput.readLine();。
System.out.println("请输入保存路径:");。
releasePath = userInput.readLine(); 。
userInput.close();。
//执行解压缩
zipFileRelease pceraZip = new zipFileRelease(inPath,releasePath);。
flag = pceraZip.releaseHandle();。
//出错信息打印
if (flag == 0) System.out.println("释放成功!!!");。
if (flag == -1) System.out.println("您所要解压的文件不存在!");。
if (flag == -2) System.out.println("您所要解压的文件不能被打开!");。
if (flag == -3) System.out.println("您所要释放的路径不存在!");。
if (flag == -4) System.out.println("您所创建文件目录失败!");。
if (flag == -5) System.out.println("写入文件失败!");。
if (flag == -6) System.out.println("文件已经存在!");。
if (flag == -50) System.out.println("文件读取异常!");。
}
修改的地方都加有注释,其它的没改什么,然后所有涉及到it.hasNext()的判断都将if修改为while了,原因写在注释里面了,楼主可以先看下代码是否符合期望。
import java.util.Iterator;。
import java.util.Scanner;。
import java.util.List;。
import java.util.ArrayList;。
public class YY {。
private Scanner sc=new Scanner(System.in);。
private List<Person> list=new ArrayList<Person>();。
public static void main(String[]args){。
new YY().zhu();。
}
public void zhu(){//主界面。
System.out.println("[==========欢迎来到鳄鱼银行==========]");。
boolean b=true;。
int number=0;。
while(b){
System.out.println("请选择1.注册2.登录3.查看4.退出");。
number=sc.nextInt();。
if(String.valueOf(number).matches("[1-4]")){。
b=false;
}
}
switch(number){//操作。
case 1:login();zhu();break;。
case 2:log();zhu();break;。
case 3:look();zhu();break;。
case 4:System.out.println("欢迎下次光临");System.exit(0);break;。
}
}
//注册
public void login(){。
System.out.println("欢迎来到注册界面");。
boolean b=true;。
while(b){
System.out.println("请输入用户名:");。
String name=sc.next();。
System.out.println("请输入密码:");。
String pass=sc.next();。
System.out.println("确认密码:");。
String password=sc.next();。
if(!(name.equals("")||pass.equals("")||password.equals(""))&&(pass.trim().equals(password.trim()))){。
if(jlogin(name)){。
b=false;
Person p=new Person();。
p.setName(name);。
p.setPass(pass);。
list.add(p);。
}else{
System.out.println("用户名已存在");。
}
}else{
System.out.println("密码不一致");。
}
zhu();
}
}
//登录
public void log(){。
System.out.println("欢迎来到登录界面");。
System.out.println("请输入用户名:");。
String name=sc.next();。
System.out.println("请输入密码:");。
String pass=sc.next();。
if(jlog(name,pass)){。
success(name);。
}else{
System.out.println("密码错误");。
zhu();
}
}
//查看
public void look(){。
System.out.println("欢迎来到查看界面");。
Iterator<Person>it=list.iterator();。
while(it.hasNext()){。
Person p=it.next();。
System.out.println("用户名:"+p.getName()+"密码:"+p.getPass()+"金额:"+p.getMoney());。
}
}
//判断注册
public boolean jlogin(String name){。
boolean b=true;。
Iterator<Person>it=list.iterator();。
while(it.hasNext()){。
Person p=it.next();。
if(p.getName().equals(name)){。
b=false;
break;
}
}
return b;
}
//判断登录
public boolean jlog(String name,String pass){。
boolean b=false;。
Iterator<Person>it=list.iterator();。
while(it.hasNext()){。
Person p=it.next();。
if(p.getName().equals(name)&&p.getPass().equals(pass)){。
b=true;
break;
}
}
return b;
}
//操作界面
public void success(String name){。
System.out.println("[欢迎来到操作界面]");。
boolean b=true;。
int a=0;
while(b){
System.out.println("请选择1.存款2.取款3.转账4.返回主页");。
a=sc.nextInt();。
if(String.valueOf(a).matches("[1-4]")){。
b=false;
}
}
//操作选项
switch(a){
case 1:ck(name);success(name);。
case 2:qk(name);success(name);。
case 3:zz(name);success(name);。
case 4:zhu();
}
public void ck(String name){。
System.out.println("请输入存款金额");。
float money=sc.nextFloat();。
Iterator<Person> it=list.iterator();。
while(it.hasNext()){ //涉及到it.hasNext()的全部改成while了,用if的话只会取it里面的第一个person,而不是遍历全部。
Person p=it.next();。
if(p.getName().equals(name)){。
p.setMoney(money);。
System.out.println("你已成功存入"+money+"元");。
break;。
}
}
}
public void qk(String name) {。
System.out.println("请输入取钱金额");。
float money=sc.nextFloat();。
Iterator<Person> it=list.iterator();。
while(it.hasNext()){。
Person p=it.next();。
if(p.getName().equals(name)){。
if(p.getMoney()>=money){ //要判断一下余额是不是不足。
p.setMoney(-money);。
System.out.println("你已成功取出"+money+"元");。
}
else {
System.out.println("余额不足");。
}
break;。
}
}
//转账
public void zz(String name){。
boolean b=true;。
float money=0.0f;。
String Ename=null;。
while(b){
System.out.println("请输入转账用户名:");。
Ename=sc.next();。
if(!enameCheck(Ename)){ //判断一下转账用户名是不是存在。
System.out.println("转账用户名不存在");。
//success(name);。
}
else{
System.out.println("请输入转账金额:");。
money=sc.nextFloat();。
if(jEname(name,money)){。
b=false;。
}
else{
System.out.println("余额不足");。
//success(name);。
}
}
if(!jlogin(name)){。
Iterator<Person> it=list.iterator();。
int flag=0;。
while(it.hasNext()){。
Person p=it.next();。
if(p.getName().equals(name)){。
p.setMoney(-money);。
flag++;。
}
if(p.getName().equals(Ename)){。
p.setMoney(money);。
flag++;。
}
if(flag==2){。
break;。
}
}
}
public boolean enameCheck(String ename) {。
Iterator<Person> it=list.iterator();。
boolean b=false;。
while(it.hasNext()){。
Person p=it.next();。
if(p.getName().equals(ename)){。
b=true;。
break;。
}
}
return b;
public boolean jEname(String name, float money) {。
boolean b=false;。
Iterator<Person> it=list.iterator();。
while(it.hasNext()){。
Person p=it.next();。
if(p.getName().equals(name)&&p.getMoney()>=money){。
b=true;。
break;。
}
}
return b;
class Person{
private String name=null;。
private String pass=null;。
private float money=0.0f;。
public float getMoney() {。
return money;。
}
public void setMoney(float money) {。
this.money+= money;。
}
public String getName() {。
return name;。
}
public void setName(String name) {。
this.name = name;。
}
public String getPass() {。
return pass;。
}
public void setPass(String pass) {。
this.pass = pass;。
}