| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4584 人关注过本帖, 1 人收藏
标题:我与a5549877在JAVA论坛中的交流
只看楼主 加入收藏
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
如何返回这个。。。public static void main(String[] args) 、
其他的我写好了。。。。。又卡住了。。。。要求按0返回。。。
以下是我的代码
package com.dvdguanli.zuoye;
import java.util.*;
public class dvdguanli{
    public static void main(String[] args) {
        String name[]=new String[6];//DVD名称
        int state[]=new int[6];//DVD借出状态
        String date[]=new String[6];//DVD借出日期
        int degree[]=new int[6];//DVD借出次数   
        Scanner input=new Scanner(System.in);
        System.out.println("欢迎使用迷你DVD管理器");
        System.out.println("------------------------------");
        System.out.println("1.新增DVD");
        System.out.println("2.查看DVD");
        System.out.println("3.删除DVD");
        System.out.println("4.借出DVD");
        System.out.println("5.归还DVD");
        System.out.println("6.退出DVD");
        System.out.println("------------------------------");
        System.out.println("请选择:");
        int select=input.nextInt();//选择功能
            
        if(select==1){
            System.out.println("---->新增DVD");
            System.out.print("请输入DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                if(name[i]==null){//判断如果是null就将输入的名称赋给它
                    name[i]=iname;
                    state[i]=1;//未借出状态
                    System.out.println("新增<"+name[i]+">成功");
                    break;
                }
                if(i==name.length){
                    System.out.println("DVD已满");
                }
                    
                System.out.print("请输入0返回:");
                int inum=input.nextInt();
                if(inum==0){
                    
                }else{
                    System.out.println("输入有误,异常终止!");
                }
            }   
               
        }else if(select==2){
            System.out.println("---->查看DVD");
            System.out.println("序号\t\t状态\t\t名称\t\t借出日期\t\t借出次数");
            for(int i=0;i<name.length;i++){
                    
                if(name[i]==null){//如果等于空就跳出
                    break;
                }else if(state[i]==0){   
                    System.out.println((i+1)+"\t\t已借出\t\t<"+name[i]+">\t\t"+date[i]+degree[i]);//借出状态
                }else if(state[i]==1){
                    System.out.println((i+1)+"\t\t可借    \t\t<"+name[i]+">"+degree[i]);//未借出状态
                }
            }
               
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
               
            }else{
                System.out.println("输入有误,异常终止!");
            }

            }else if(select==3){
            System.out.println("---->删除DVD");
            System.out.print("请输入要删除的DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                    
                if(name[i]==null){//判断是否为null
                    System.out.println("没有找到您要删除的DVD名称!");
                    break;
                }else if(name[i].equals(name)&&state[i]==1){//输入的DVD名称要存在,并且处于未借出状态才能删除
                    System.out.println("删除<"+name[i]+">成功");
                    int index=i;        
                    while(name[index+1]!=null){//判断index后面的一个值是否为空
                        name[index]=name[index+1];//将删除元素后的元素往前移
                        index++;
                    }
                    name[index]=null;//元素往前移后,将最后一个原本有值的元素为空
                    break;
                }else if(name[i].equals(name)&&state[i]==0){//输入的DVD名称要存在,并且处于借出状态不能删除
                    System.out.println("<"+name+">为借出状态,不能删除!");
                    break;
                }
            }
               
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
                    
            }else{
                System.out.println("输入有误,异常终止!");
            }

            }else if(select==4){
            System.out.println("---->借出DVD");
            System.out.print("请输入要要借出的DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                if(name[i]==null){
                    System.out.println("没有找到此DVD信息!");
                    break;
                }else if(name[i].equals(name)&&state[i]==1){
                    System.out.print("请输入借出日期(年-月-日):");
                    date[i]=input.next();
                    state[i]=0;//状态修改
                    System.out.println("<"+name[i]+">借出成功");
                    degree[i]++;
                    break;
                }else if(name[i].equals(name)&&state[i]==0){
                    System.out.println("您要借的DVD已借出!");
                    break;
                }
            }
               
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
               
            }else{
                System.out.println("输入有误,异常终止!");
            }
               
        }else if(select==5){
            System.out.println("---->归还DVD");
            System.out.print("请输入要归还的DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                if(name[i]==null){
                    System.out.println("没有此DVD");
                    break;
                }else if(name[i].equals(name)&&state[i]==0){
                    System.out.print("请输入归还日期(年-月-日):");
                    String returnTime=input.next();
                    if(!(returnTime.equalsIgnoreCase(date[i]))){
                        System.out.println("\n日期有误,不能归还!");
                    }else{
                        state[i]=1;                    //修改状态
                        System.out.println("\n归还<"+name[i]+">成功");
                        System.out.println("借出日期为:"+date[i]);
                        System.out.println("归还日期为:"+returnTime);
                    }
                    break;
                }else if(name[i].equals(name)&&state[i]==1){
                    System.out.println("您要归还的DVD未借出不用归还!");
                    break;
                }
            }
               
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
               
            }else{
                System.out.println("输入有误,异常终止!");
            }
               
        }else if(select==6){
            System.out.println("---->退出DVD");
        }
    }
}




2016-10-16 21:35
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
2016-10-16 21:35
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
//package com.dvdguanli.zuoye;
import java.util.*;
public class dvdguanli{
    public static void main(String[] args) {
int count=-1;//记录DVD的个数
        String name[]=new String[6];//DVD名称
        int state[]=new int[6];//DVD借出状态
        String date[]=new String[6];//DVD借出日期
        int degree[]=new int[6];//DVD借出次数   
        Scanner input=new Scanner(System.in);
        System.out.println("欢迎使用迷你DVD管理器");
        System.out.println("------------------------------");
        System.out.println("1.新增DVD");
        System.out.println("2.查看DVD");
        System.out.println("3.删除DVD");
        System.out.println("4.借出DVD");
        System.out.println("5.归还DVD");
        System.out.println("6.退出DVD");
        System.out.println("------------------------------");
        System.out.println("请选择:");
        int select=input.nextInt();//选择功能
        while((select!=1)&&(select!=6)){System.out.println("一个DVD都没有!请重新选择");select=input.nextInt();}
        if(select==6)return;
  
            
do{
        if(select==1){//先判断,后做事!先判断有没有满,再决定是否做。你当然可以在这里判断,但是你很多地方都要判断,还不如在外面定义一个count

//while(DVD没有满&&继续要添加DVD)
//{
 // 做事,
//做完事问还要不要再添加DVD
//}


            System.out.println("---->新增DVD");
            System.out.print("请输入DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                if(name[i]==null){//判断如果是null就将输入的名称赋给它
                    name[i]=iname;
                    state[i]=1;//未借出状态
                    System.out.println("新增<"+name[i]+">成功");
                    break;
                }
                if(i==name.length){
                    System.out.println("DVD已满");
                }
                     
                System.out.print("请输入0返回:");
                int inum=input.nextInt();
                if(inum==0){
                     
                }else{
                    System.out.println("输入有误,异常终止!");
                }
            }   
        //2222222222222222222222222222222222222222222222222222222        
        }else if(select==2){
            System.out.println("---->查看DVD");
            System.out.println("序号\t\t状态\t\t名称\t\t借出日期\t\t借出次数");
            for(int i=0;i<name.length;i++){                  
                if(name[i]==null){//如果等于空就跳出
                    break;
                }else if(state[i]==0){   
                    System.out.println((i+1)+"\t\t已借出\t\t<"+name[i]+">\t\t"+date[i]+degree[i]);//借出状态
                }else if(state[i]==1){
                    System.out.println((i+1)+"\t\t可借    \t\t<"+name[i]+">"+degree[i]);//未借出状态
                }
            }     
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){     
            }else{
                System.out.println("输入有误,异常终止!");
            }
        //33333333333333333333333333333333333333333333333333333333333
        }else if(select==3){
            System.out.println("---->删除DVD");
            System.out.print("请输入要删除的DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                     
                if(name[i]==null){//判断是否为null
                    System.out.println("没有找到您要删除的DVD名称!");
                    break;
                }else if(name[i].equals(name)&&state[i]==1){//输入的DVD名称要存在,并且处于未借出状态才能删除
                    System.out.println("删除<"+name[i]+">成功");
                    int index=i;        
                    while(name[index+1]!=null){//判断index后面的一个值是否为空
                        name[index]=name[index+1];//将删除元素后的元素往前移
                        index++;
                    }
                    name[index]=null;//元素往前移后,将最后一个原本有值的元素为空
                    break;
                }else if(name[i].equals(name)&&state[i]==0){//输入的DVD名称要存在,并且处于借出状态不能删除
                    System.out.println("<"+name+">为借出状态,不能删除!");
                    break;
                }
            }
                 
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
                     
            }else{
                System.out.println("输入有误,异常终止!");
            }
            //44444444444444444444444444444444444444444444444444444444
            }else if(select==4){
            System.out.println("---->借出DVD");
            System.out.print("请输入要要借出的DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                if(name[i]==null){
                    System.out.println("没有找到此DVD信息!");
                    break;
                }else if(name[i].equals(name)&&state[i]==1){
                    System.out.print("请输入借出日期(年-月-日):");
                    date[i]=input.next();
                    state[i]=0;//状态修改
                    System.out.println("<"+name[i]+">借出成功");
                    degree[i]++;
                    break;
                }else if(name[i].equals(name)&&state[i]==0){
                    System.out.println("您要借的DVD已借出!");
                    break;
                }
            }
                 
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
                 
            }else{
                System.out.println("输入有误,异常终止!");
            }
        //55555555555555555555555555555555555555555555555         
        }else if(select==5){
            System.out.println("---->归还DVD");
            System.out.print("请输入要归还的DVD名称:");
            String iname=input.next();
            for(int i=0;i<name.length;i++){
                if(name[i]==null){
                    System.out.println("没有此DVD");
                    break;
                }else if(name[i].equals(name)&&state[i]==0){
                    System.out.print("请输入归还日期(年-月-日):");
                    String returnTime=input.next();
                    if(!(returnTime.equalsIgnoreCase(date[i]))){
                        System.out.println("\n日期有误,不能归还!");
                    }else{
                        state[i]=1;                    //修改状态
                        System.out.println("\n归还<"+name[i]+">成功");
                        System.out.println("借出日期为:"+date[i]);
                        System.out.println("归还日期为:"+returnTime);
                    }
                    break;
                }else if(name[i].equals(name)&&state[i]==1){
                    System.out.println("您要归还的DVD未借出不用归还!");
                    break;
                }
            }
                 
            System.out.print("请输入0返回:");
            int inum=input.nextInt();
            if(inum==0){
                 
            }else{
                System.out.println("输入有误,异常终止!");
            }
        //666666666666666666666666666666666         
        }else if(select==6){
            System.out.println("---->退出DVD");
        }
select=input.nextInt();
}while(select!=0)
    }
}
 


[此贴子已经被作者于2016-10-17 01:51编辑过]


我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-17 01:06
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
你这个程序太长,要花很多时间,我顶不住。
一:你完成这个程序只是用了一个方法。你应该根据功能划分,一个功能写成一个方法。在main中调用它们。这样,人看上去也不累。你看看你,写了一大堆。
二:你的很多功能块都要判断DVD的个数,你干马不保存这个判断结果呢,定义一个变量,如int count;用它来保存结果。多好
三:就算你没有定义count,你在你的各个功能块判断DVD的个数,你要先判断,判断好了你再做事。

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-17 01:19
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
你真是花了不少时间写这个。看样子你是真心在学。
你是在自己研究数据结构知道吗。
你应该把时间花在收集各种语法规则上,等你有了一定的基础再学习数据结构,而不是自己研究。太慢了你。还有,你不应该把时间放在做这么大的题上。

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-17 01:40
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
回复 10楼 反脑控2016
好厉害啦,比我这个人形复制机强多了
2016-10-17 09:42
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
这是老师留的。。。要求用数组写。。。作为人形复制机就把学过的都用上了。。。刚学完循环语句
2016-10-17 09:47
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
搞定啦,用do。。while进行包裹,或者创建方法进行调用都可以,嘛今天刚学的方法。脑控大神,我把今天学的大于200的质数的程序发出来哦,可以的编译运行的说,对了。。。去网上查了下outer,现在还没弄懂,求指教
package com.Means.lianxi;
import java.util.*;
public class Means {
    public static void Judge(){
        
            for(int num = 201;;num++){
                boolean state=true;
               
                for(int i=2;i<num;i++){
                    if(num%i==0){
                        state=false;
                        break;
                    }   
                }
                if(!state){
                    continue;
                }
                System.out.println("大于200的最小质数为"+num);
                break;
            }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub,有参数的方法
            Judge();

    }
}
2016-10-17 21:46
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
你的这个程序没问题,只是太粗糙了。不过这是算法问题,没必要纠结于此。你说的outer,我也不清楚,不过我想先搞定二维数组再说,你先等等。对于一维数组,我的总结目前是:
一维基本数据类型数组
一、一维基本数据类型数组变量的定义
方法一:dataType[]arrayName;
方法二:dataType arrayName[];
arrayName将用来标识其元素类型为dataType的一维数组。此时此刻,它只是一个标识。
这两种方法等价,但java提倡方法一。java之所以还用方法二,只是为了让C/C++程序员能够快速理解java语言。

二、一维基本数据类型数组变量的赋值
方法一:arrayName=new dataType[arraySize];
方法二:arrayName=new dataType[]{value0,value1,…,valuek};
数组元素arrayName[下标]中存放的是基本数据类型数据本身。
public class Demo {
    public static void main(String[] args){
        int[]a;
        a=new int[3];System.out.println(a[0]+","+a[1]+","+a[2]);
        a=new int[]{1,2};System.out.println(a[0]+","+a[1]);
    }
}
程序输出:
0,0,0
1,2

三、一维基本数据类型数组变量的初始化
方法一:dataType[]arrayName= {value0,value1,…,valuek};//静态初始化,是在栈上分配的?
方法二:dataType[]arrayName=new dataType[arraySize];//动态初始化,是在堆上分配的?
方法三:dataType[]arrayName=new dataType[]{value0,value1,…,valuek};//动态初始化
数组元素arrayName[下标]中存放的是基本数据类型数据本身。
public class Demo {
    public static void main(String[] args){
        int[]a={1,2,3};System.out.println(a[0]+","+a[1]+","+a[2]);
        double[]b=new double[3];System.out.println(b[0]+","+b[1]+","+b[2]);
        int[]c= new int[]{1,2,3};System.out.println(c[0]+","+c[1]+","+c[2]);
    }
}
程序输出:
1,2,3
0.0,0.0,0.0
1,2,3
一维对象数组
一、一维对象数组变量的定义
方法一:ClassName[]objectArrayName;
方法二:ClassName objectArrayName[];

二、一维对象数组变量的赋值
方法一:objectArrayName =new ClassName[arraySize];
方法二:objectArrayName = new ClassName []{new ClassName (实参表0), new ClassName (实参表1),…, new ClassName (实参表k)};
数组元素objectArrayName[下标]中存放的是类ClassName对象的引用。
public class Demo{
    String name;
    int age;
    Demo(String name,int age){this.name = name;this.age = age;}
    @Override
    public String toString(){return "[" + name + "," + age + "]";}
    public static void main(String[] args){
        Demo[] t;
        //System.out.println(t);//error
        t = new Demo[2];
        System.out.println(t+","+t[0]+","+t[1]);
        t[0]=new Demo("zs",18);t[1]=new Demo("ls",19);
        System.out.println(t+","+t[0]+","+t[1]);
        t = new Demo[]{new Demo("zs",18),new Demo("ls",19)};
        System.out.println(t+","+t[0]+","+t[1]);
    }
}
程序输出:
[LDemo;@1db9742,null,null
[LDemo;@1db9742, [zs,18],[ls,19]
[LDemo;@106d69c, [zs,18],[ls,19]

三、一维对象数组变量的初始化
方法一:ClassName[]objectArrayName = {new ClassName (实参表0), new ClassName (实参表1),…, new ClassName (实参表k)};
方法二:ClassName[]objectArrayName = new ClassName[arraySize];
方法三:ClassName[]objectArrayName = new ClassName []{new ClassName (实参表0), new ClassName (实参表1),…, new ClassName (实参表k)};
数组元素objectArrayName[下标]中存放的是类ClassName对象的引用。
public class Demo{
    String name;
    int age;
    Demo(String name,int age){this.name = name;this.age = age;}
    @Override
    public String toString(){return "[" + name + "," + age + "]";}
    public static void main(String[] args){
        Demo[]a={new Demo("zs",18),new Demo("ls",19)};
        System.out.println(a+","+a[0]+","+a[1]);
        Demo[]b = new Demo[2];
        System.out.println(b+","+b[0]+","+b[1]);
        Demo[]c= new Demo[]{new Demo("zs",18),new Demo("ls",19)};
        System.out.println(c+","+c[0]+","+c[1]);
    }
}
程序输出:
[LDemo;@1db9742,[zs,18],[ls,19]
[LDemo;@106d69c,null,null
[LDemo;@52e922, [zs,18],[ls,19]

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-18 12:45
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
标签
在java中,标签起作用的唯一的地方是在迭代语句之前。
在java中需要使用标签的唯一理由就是因为有循环嵌套的存在,而且想从多层嵌套中break或continue。
public class Demo{
    public static void main(String args[])throws Exception{
        int i = -1;
        label1:for (int k = 0; k < 5; k++){
            i++;
            if (k == 2)break label1;
            System.out.print("i="+i+" ");
        }
        System.out.println("");
        int j=-1;
        label2: for (int k = 0; k < 5; k++){
            j++;
            if (k == 2)continue label2;
            System.out.print("j="+j+" ");
        }
        System.out.println("");
        label3: for (int k = 0; k < 5; k++){
            int h=-1;
            for (int m = 0; m < 5; m++){
                h++;
                if (m == 2)break label3;
                System.out.print(k+","+h+" ");
            }
        }
        System.out.println("");
        label4: for (int k = 0; k < 5; k++) {
            int h = -1;
            for (int m = 0; m < 5; m++) {
                h++;
                if (m == 2)continue label4;
                System.out.print(k+","+h+" ");
            }
        }
        System.out.println("\n程序执行完毕");
    }
}
程序输出:
i=0 i=1
j=0 j=1 j=3 j=4
0,0 0,1
0,0 0,1 1,0 1,1 2,0 2,1 3,0 3,1 4,0 4,1
程序执行完毕
说明:程序中,不管有没有label1和label2,程序输出结果不变。


[此贴子已经被作者于2016-10-18 19:49编辑过]


我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-18 19:15
快速回复:我与a5549877在JAVA论坛中的交流
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021720 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved