注册 登录
编程论坛 JAVA论坛

我与a5549877在JAVA论坛中的交流

反脑控2016 发布于 2016-10-14 00:24, 4912 次点击
对于一个你还没有解决的难题,你可以先问,或许我可以在你解决之前提供答案。
你的学习成果,你可以发出来与我分享,我若看出不足,定会补充。
但愿你我能快速成长。
31 回复
#2
a55498772016-10-15 14:16
我要在主体中定义一个数组,在分支里输入一个元素并添加进去
import java.util.*;
public class dvdguanli {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String name[]=new String[6];//DVD名称
        String state[]=new String[6];//DVD借出状态
        String date[]=new String[6];//DVD借出日期
        String degree[]=new String[6];//DVD借出次数
        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.println("新增DVD序号");
            int num=input.nextInt();
            for(int i=0;i<name.length;i++){
                System.out.print("新增DVD名称");
                String name[i]=input.next();
            }
但是添加不进去。。。如果不用封装(因为还没学到)要怎么办。。。是要吧主体里的数组放到分支里么
#3
反脑控20162016-10-15 16:14
do{
int select=input.nextInt();//选择功能
if(select==1){
    //1.新增DVD
}elseif(select==2){
    //2.查看DVD
}elseif(select==3){
    //....
}elseif(select==4){
    //...
}elseif(select==5){
    //..
}elseif(select==6){
    //.
}else{
System.out.println("你选择有错,请重新选择!");
}
}while(select>6||select<1);
注:
我不知道是else if还是elseif,你试一下。
我不知道表示或运算是不是||,C/C++中是||。
我目前专攻高级特性,还没研究基本语法。过一段时间我会专攻这些基本语法。


[此贴子已经被作者于2016-10-15 16:30编辑过]

#4
反脑控20162016-10-15 16:19
你还可以:
do{
int select=input.nextInt();//选择功能
switch(select){
    case 1://1.新增DVD
           break;
    case 2://2.
           break;
case 3://
           break;
case 4://
           break;
case 5://
           break;
case 6://
           break;
default: System.out.println("你选择有错,请重新选择!");
}while(select>6||select<1);

[此贴子已经被作者于2016-10-15 16:30编辑过]

#5
反脑控20162016-10-15 16:24
你说封装。你不要把重点放在封装上。你要把重点放在类与对象上。
#6
a55498772016-10-15 19:34
不。。。。我说的是第一个分支中的添加部分
因为要添加5个数据,还是同一行。。不知道应该怎么写
你给的我会啊。。。我问的是怎么做添加,刚学到数组
#7
a55498772016-10-16 09:49
用Java编写一个DVD管理系统,包括人名,年龄,可进行增加,包括DVD序号    状态     名称     借出日期    借出次数可进行增加数据,删减数据,使用数组进行存储
这是我要编写的。。我卡在如何存储数组里了,毕竟增加功能是在分支里的
#8
a55498772016-10-16 10:46
主要是数组存储不明白。。。。因为增加部分是主体部分的下属分支
我用的if else语句分割的,我把数组定义在外面,要怎么吧if 语句里添加的写入数组,
因为我还要在其他分支调用这些数组
#9
a55498772016-10-16 17:17
钻牛角尖了,就想着只用数组。。。卡了我两天。。。
#10
反脑控20162016-10-16 18:06
如果有C/C++实现,这并不难,难在JAVA的数组跟C/C++的数组有很大的不同。我现在是头大的要死。我决定要攻下数组,下面是我通过帖子总结的:数组
java语言中,数组是一种最简单的复合数据类型。数组是相同数据类型数据的有序集合。其元素可以用数组名和下标来唯一地标识。数组分一维数组和多维数组。
一维数组
一维数组变量的定义
方法一:dataType[]arrayName;
方法二:dataType arrayName[];
arrayName将用来标识其元素类型为dataType的一维数组。此时此刻,它只是一个标识。
这两种方法等价,但java提倡方法一。java之所以还用方法二,只是为了让C/C++程序员能够快速理解java语言。
一维数组变量的赋值
方法一:arrayName=new dataType[arraySize];
方法二:arrayName=new dataType[]{value0,value1,…,valuek};
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};//动态初始化
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

public final int length():返回数组长度
还有很多不足,我没搞明白,还在阅读中,网上帖子写的都乱,要多花时间……



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

#11
a55498772016-10-16 21:35
如何返回这个。。。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");
        }
    }
}




#12
a55498772016-10-16 21:35
#13
反脑控20162016-10-17 01:06
//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编辑过]

#14
反脑控20162016-10-17 01:19
你这个程序太长,要花很多时间,我顶不住。
一:你完成这个程序只是用了一个方法。你应该根据功能划分,一个功能写成一个方法。在main中调用它们。这样,人看上去也不累。你看看你,写了一大堆。
二:你的很多功能块都要判断DVD的个数,你干马不保存这个判断结果呢,定义一个变量,如int count;用它来保存结果。多好
三:就算你没有定义count,你在你的各个功能块判断DVD的个数,你要先判断,判断好了你再做事。
#15
反脑控20162016-10-17 01:40
你真是花了不少时间写这个。看样子你是真心在学。
你是在自己研究数据结构知道吗。
你应该把时间花在收集各种语法规则上,等你有了一定的基础再学习数据结构,而不是自己研究。太慢了你。还有,你不应该把时间放在做这么大的题上。
#16
a55498772016-10-17 09:42
回复 10楼 反脑控2016
好厉害啦,比我这个人形复制机强多了
#17
a55498772016-10-17 09:47
这是老师留的。。。要求用数组写。。。作为人形复制机就把学过的都用上了。。。刚学完循环语句
#18
a55498772016-10-17 21:46
搞定啦,用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();

    }
}
#19
反脑控20162016-10-18 12:45
你的这个程序没问题,只是太粗糙了。不过这是算法问题,没必要纠结于此。你说的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]
#20
反脑控20162016-10-18 19:15
标签
在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编辑过]

#21
a55498772016-10-18 20:40
好厉害哦,今天学的函数,据说二维数组及多维数组并不常用
二维数组一般是看成一维数组的嵌套(原凉我的语言表达能力)比如
int array[i][j]可以看成
int array[0][j]
int array[1][j]
int array[2][j]
int array[3][j]
.
.
.
int array[i][j]的样子,据说是没法简化的,所以定义的时候一般直接定义元素而不是输入
尤其是这一类int array[i][],只定义了前面,后面的长度是未知的,可能出现锯齿
而且只有后面的中括号可以为空,不能两个都为空,也不能前空后有,以上是我了解的二维数组
#22
a55498772016-10-18 20:51
public static boolean Isprime(int num){//判断num是否为质数
        for(int i=2;i<Math.sqrt(num);i++){
            if(!isExact(num))
                return false;
        }
        return true;
    }
public static boolean isExact(int num){
    if(num%i==0){
                return false;
            }
    return true;
}
public static void PrimeNumber(int num){
        for(;;num++){
            if(isprime(num)){
                System.out.println(num+"是质数");
                break;
            }
        }
}这是判断大于num的最小质数的函数版,虽然我没写主函数部分,大神来鞭挞我吧,我觉得我好像越来越抖m了QWQ,累不爱_(:з」∠)_
#23
反脑控20162016-10-19 11:07
初学者不应该只写函数,应该写成完整的可以运行的小程序。不就是多打几个字的事吧,不要小看多打几个字,这样你可以在机子上跑一下就可以得到不少的保贵的错误提示。你的程序有很多小错,我相信你编写出可运行的小程序就已经纠正了不少的小错。
我目前也不敢像你这样。你看我写的东西,都是完整的可运行的小程序。
#24
a55498772016-10-19 20:47
现在学到面向对象以及类了。。。已经发现了很多错→→,我有努力修正,我蠢。。。所以每天晚上都会练习的QWQ,当然是已经被老师纠正过的,我要把它们变成本能//握拳
#25
反脑控20162016-10-20 03:04
二维基本数据类型数组
Java语言中,二维数组被看作一维数组的一维数组。
一、二维基本数据类型数组变量的定义
方法一:dataType[][]arrayName;
方法二:dataType arrayName[][];

二、二维基本数据类型数组变量的赋值
方法一:arrayName=new dataType[arraySize1] [arraySize2];
方法二:arrayName=new dataType[arraySize1][];
方法三:arrayName=new dataType[][]{{若干值},{若干值},…,{若干值}};
public class Demo {
    public static void main(String[] args){
        int[][]a;
        //System.out.println(a);//error
        //方法一:
        a=new int[2][3];
        System.out.print("方法一:\n"+a);
        for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
        for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
        System.out.println("");
        //方法二:
        a=new int[2][];
        System.out.print("方法二:\n"+a);
        for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
        System.out.println("");
        a[0]=new int[]{1};a[1]=new int[]{2,3};
        System.out.print(a);
        for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
        for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
        System.out.println("");
        //方法三:
        a=new int[][]{{1},{2,3}};
        System.out.print("方法三:\n"+a);
        for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
        for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
        System.out.println("");
    }
}
方法一:
[[I@1db9742,[I@106d69c,[I@52e922,0,0,0,0,0,0
方法二:
[[I@25154f,null,null
[[I@25154f,[I@10dea4e,[I@647e05,1,2,3
方法三:
[[I@1909752,[I@1f96302,[I@14eac69,1,2,3

三、二维基本数据类型数组变量的初始化
方法一:dataType[][]arrayName=new dataType[arraySize1] [arraySize2];
方法二:dataType[][]arrayName=new dataType[arraySize1][];
方法三:dataType[][]arrayName=new dataType[][]{{若干值},{若干值},…,{若干值}};
方法四:dataType[][]arrayName={{若干值},{若干值},…,{若干值}};
下面的程序只说明方法四:
public class Demo {
    public static void main(String[] args){
        int[][]a={{1},{2,3}};
        System.out.print("方法四:\n"+a);
        for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
        for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
        System.out.println("");
    }
}
程序输出:
方法四:
[[I@1db9742,[I@106d69c,[I@52e922,1,2,3

二维对象数组
一、二维对象数组变量的定义
方法一:ClassName[][]objectArrayName;
方法二:ClassName objectArrayName[][];

二、二维对象数组变量的赋值
方法一:objectArrayName=new ClassName[arraySize1] [arraySize2];
方法二:objectArrayName= new ClassName[arraySize1][];
方法三:objectArrayName= new ClassName[][]{{若干ClassName类对象},{若干ClassName类对象},…,{ 若干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][3];
        System.out.print("方法一:\n"+t);
        for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
        for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
        System.out.println("");
        //方法二:
        t=new Demo[2][];
        System.out.print("方法二:\n"+t);
        for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
        System.out.println("");
        t[0]=new Demo[]{new Demo("aa",10),new Demo("bb",11)};
        t[1]=new Demo[2];t[1][0]=new Demo("zs",18);t[1][1]=new Demo("ls",19);
        System.out.print(t);
        for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
        for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
        System.out.println("");
        //方法三:
        t=new Demo[][]{{new Demo("aa",10)},{new Demo("zs",18),new Demo("ls",19)}};
        System.out.print("方法三:\n"+t);
        for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
        for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
        System.out.println("");
    }
}
程序输出:
方法一:
[[LDemo;@1db9742,[LDemo;@106d69c,[LDemo;@52e922,null,null,null,null,null,null
方法二:
[[LDemo;@25154f,null,null
[[LDemo;@25154f, [LDemo;@10dea4e, [LDemo;@647e05,[aa,10],[bb,11],[zs,18],[ls,19]
方法三:
[[LDemo;@1909752, [LDemo;@1f96302, [LDemo;@14eac69, [aa,10],[zs,18],[ls,19]

三、二维对象数组变量的初始化
方法一:ClassName [][]objectArrayName=new ClassName[arraySize1] [arraySize2];
方法二:ClassName [][]objectArrayName= new ClassName[arraySize1][];
方法三:ClassName [][]bjectArrayName= new ClassName[][]{{若干ClassName类对象},{若干ClassName类对象},…,{ 若干ClassName类对象}};
方法四:ClassName [][]bjectArrayName={{若干ClassName类对象},{若干ClassName类对象},…,{ 若干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={{new Demo("aa",10)},{new Demo("zs",18),new Demo("ls",19)}};
        System.out.print("方法四:\n"+t);
        for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
        for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
        System.out.println("");
    }
}
程序输出:
方法四:
[[LDemo;@1db9742,[LDemo;@106d69c,[LDemo;@52e922,[aa,10],[zs,18],[ls,19]


[此贴子已经被作者于2016-10-20 03:07编辑过]

#26
a55498772016-10-24 20:51
我不会写这种。。。。我今天做的是简易租车贸易系统。。。。涉及到类了,请鞭挞我吧。。我会分着发,先来主类
package com.carsystem.lianxi;
import java.util.*;
public class Test {
static Scanner input=new Scanner(System.in);
static Car car=new Car();
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Show();
    }
    static void Show(){//界面方法
        System.out.println("***************欢迎光临腾飞汽车租贸公司******************");
        isType();
        isDay();
        car.Random();
        car.isPrice();
    }
    static void isType(){//分类轿车与汽车
        System.out.println("1、轿车\t\t2、客车");
        System.out.print("请选择你要租贸的汽车类型:");
        int type=input.nextInt();
        if(type==1){
            car.setType("轿车");
            isBrand1();
        }else if(type==2){
            car.setType("客车");
            isBrand();
        }else{
            System.out.println("输入错误");
        }   
    }
    static void isBrand1(){//轿车选项,关于轿车的品牌
        System.out.println("请选择你要租贸的汽车品牌:1、宝马2、雪莱");
        int brand1=input.nextInt();
        if(brand1==1){
            car.setBrand("路虎");
        }else if(brand1==2){
            car.setBrand("雪莱");
        }else{
            System.out.println("输入错误");
        }   
        System.out.println("轿车座位数为4");
    }
    static void isBrand(){//客车选项,关于客车的品牌
        System.out.print("请选择你要租贸的汽车品牌:1、金龙\t\t2、金杯\t\t");
        int brand=input.nextInt();
        if(brand==1){
            car.setBrand("金龙");
        }else if(brand==2){
            car.setBrand("金杯");
        }else{
            System.out.println("输入错误");
        }   
        isSeat();
    }
    static void isSeat(){//是客车的情况下的座位量选择
        System.out.print("请选择你要租贸的汽车座位数:1、16座\t\t2、34座\t\t");
        int seat=input.nextInt();
        if(seat==1){
            car.setSeat("16座");
        }else if(seat==2){
            car.setSeat("34座");
        }else{
            System.out.println("输入错误");
        }   
    }
    static void isDay(){//租贸天数
        System.out.print("请输入你要租贸的天数:");
        int day=input.nextInt();
        car.setDay(day);
    }
   
}
#27
a55498772016-10-24 20:52
这是车类
package com.carsystem.lianxi;
import java.util.*;
public class Car {
    private String type;
    private String brand;
    private String seat;
    private int day;
    private int price;   
    private static int random;
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getBrand() {
        return brand;
    }
    public void setBrand(String brand) {
        this.brand = brand;
    }
    public String getSeat() {
        return seat;
    }
    public void setSeat(String seat) {
        this.seat = seat;
    }
    public int getDay() {
        return day;
    }
    public void setDay(int day) {
        this.day = day;
    }
    public int getPrice() {
        return price;
    }
    public void setPrice(int price) {
        this.price = price;
    }
    Car(){}
    static void Random(){//随机一个车牌号
        random=(int)(Math.random()*10000000-1);
        System.out.println("分配给您的汽车牌号是:京"+random);
    }
    void isPrice(){//根据不同的情况,收取不同的租金
        if(type.equals("轿车")&&brand.equals("宝马")){
            price=day*200;
        }else if(type.equals("轿车")&&brand.equals("雪莱")){
            price=day*170;
        }else if(type.equals("客车")&&seat.equals("34座")){
            price=day*120;
        }else if(type.equals("客车")&&seat.equals("16座")){
            price=day*90;
        }
        
        System.out.println("您需要支付的租贸费用是:"+price);
    }
}
#28
反脑控20162016-10-24 23:36
乍眼一看,这程序看的舒服,但一细看,原来你还是按还没有学习类时的思想编程,对你来说类并没有给你带来什么好处。
在Test类中,你用了好几个静态方法,这跟只用一个main方法来表达没有任何区别。
你应该在Test类的main中定义很多变量来记录用户的选择,如车型、车号、天数
class Car{
String type;
String brand;
int day;
int price;
Car(String type1,String brand1,int day1){type=type1;brand=brand1;day=day1;}
public int getprice(){根据数据成员的值计算价格;return 价格;}
...
}
在Test类的main()中,你可以:
System.out.println(new(车型,车号,天数).getprice());
打印价格。
#29
反脑控20162016-10-30 17:05
学JAVA语言是为了应用,所以为了学好它,这个月我将学完它的一个应用——Web开发。Web开发分三个部分:HTML、CSS、JavaScript。我现在就出发……
#30
反脑控20162016-11-14 15:51
学了才知道,web开发跟JAVA语言没关系。既然学了,我就会把它学好。web开发不仅包含HTML、CSS、JavaScript,还包含apache、php和mysql。到现在,mysql还没入门。我只有半个月了……
#31
a55498772016-11-20 13:37
加一,,两天灌了n科,我都要死掉惹。一起加油吧,握拳
#32
a55498772016-11-20 23:16
回复 28楼 反脑控2016
多谢大神指教,我会改正的
1