| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4440 人关注过本帖, 1 人收藏
标题:我与a5549877在JAVA论坛中的交流
只看楼主 加入收藏
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
好厉害哦,今天学的函数,据说二维数组及多维数组并不常用
二维数组一般是看成一维数组的嵌套(原凉我的语言表达能力)比如
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][],只定义了前面,后面的长度是未知的,可能出现锯齿
而且只有后面的中括号可以为空,不能两个都为空,也不能前空后有,以上是我了解的二维数组
2016-10-18 20:40
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
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,累不爱_(:з」∠)_
2016-10-18 20:51
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
初学者不应该只写函数,应该写成完整的可以运行的小程序。不就是多打几个字的事吧,不要小看多打几个字,这样你可以在机子上跑一下就可以得到不少的保贵的错误提示。你的程序有很多小错,我相信你编写出可运行的小程序就已经纠正了不少的小错。
我目前也不敢像你这样。你看我写的东西,都是完整的可运行的小程序。

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-19 11:07
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
现在学到面向对象以及类了。。。已经发现了很多错→→,我有努力修正,我蠢。。。所以每天晚上都会练习的QWQ,当然是已经被老师纠正过的,我要把它们变成本能//握拳
2016-10-19 20:47
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
二维基本数据类型数组
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编辑过]


我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-20 03:04
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
我不会写这种。。。。我今天做的是简易租车贸易系统。。。。涉及到类了,请鞭挞我吧。。我会分着发,先来主类
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);
    }
   
}
2016-10-24 20:51
a5549877
Rank: 1
等 级:新手上路
威 望:1
帖 子:31
专家分:4
注 册:2016-10-10
收藏
得分:0 
这是车类
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);
    }
}
2016-10-24 20:52
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
乍眼一看,这程序看的舒服,但一细看,原来你还是按还没有学习类时的思想编程,对你来说类并没有给你带来什么好处。
在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());
打印价格。

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-24 23:36
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
学JAVA语言是为了应用,所以为了学好它,这个月我将学完它的一个应用——Web开发。Web开发分三个部分:HTML、CSS、JavaScript。我现在就出发……

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-30 17:05
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
学了才知道,web开发跟JAVA语言没关系。既然学了,我就会把它学好。web开发不仅包含HTML、CSS、JavaScript,还包含apache、php和mysql。到现在,mysql还没入门。我只有半个月了……

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



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

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