| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4576 人关注过本帖, 1 人收藏
标题:我与a5549877在JAVA论坛中的交流
取消只看楼主 加入收藏
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
初学者不应该只写函数,应该写成完整的可以运行的小程序。不就是多打几个字的事吧,不要小看多打几个字,这样你可以在机子上跑一下就可以得到不少的保贵的错误提示。你的程序有很多小错,我相信你编写出可运行的小程序就已经纠正了不少的小错。
我目前也不敢像你这样。你看我写的东西,都是完整的可运行的小程序。

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-10-19 11:07
反脑控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
反脑控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.019207 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved