十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
class Shuzu {
海门网站建设公司创新互联公司,海门网站设计制作,有大型网站制作公司丰富经验。已为海门上千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的海门做网站的公司定做!
String word;
// 不知道你要什么类型的数组,所以给你定一个一个Object类型的呵呵
Object[] num;
public Shuzu(int n) {
this.num = new Object[n];
}
public void xs() {
System.out.println(word);
// 循环打印数组中的内容
for (int i = 0; i num.length; i++) {
// 如果数组不存满值,剩下的会打成null的!
System.out.println(num[i]);
}
System.out.println("最后打印数组长度" + num.length);
}
}
public class test58 {
public static void main(String args[]) {
Shuzu array = null;
//这里传入的"10"是你想设置的数组的长度!在
array = new Shuzu(10);
array.word = "数组为:";
array.num[0] = "什么阿";
array.num[1] = "nihao";
array.num[2] = "#%*#";
array.num[4] = "43开始打印2";
array.num[5] = "4打印到五了";
array.num[6] = "43还有两个2";
array.num[7] = "75762";
array.num[9] = "400-0";
//
array.xs();
}
}
呵呵,知道楼主想问什么了。
其实这个就是对象数组的问题。
首先我先提个问题。不知道楼主数组学得怎么样??
其实我想说的是对象数组和之前的数组一样样的。只不过,之前的数组是基本数据类型。
在这里数组的元素是对象。。。。。记住是对象。它具有对象所有的特性。
好了下面我用注释的方法来分析代码
//遍历对象数组,从控制台初始化对象数组
for(int i=0;icusts.length;i++)
{
//创建一个新对象。并赋值
Customer cust=new Customer();
System.out.println("请输入第"+(i+1)+"个会员编号:");
cust.custNo=input.next();
System.out.println("请输入第"+(i+1)+"个会员积分:");
cust.custScore=input.nextInt();
//并这个对象的地址的引用树赋值给相应的对象数组,这时对应下标的数组下面的这个对象就有了栈和堆中的地址
custs[i]=cust;
}
关键就是怎么去理解对象数组,这个概念。
再总结下,对象数组就是数组中的一种,和基本数据类型的数组没有差异。只是它现在的每个元素是一个对象。
它在操作数据的时候需要实例 化//这是很多初学者的通病,不会去new。当然这里不需要。。因为它把整个对象赋值给了
它可以通过.操作,.属性和.方法。
custs[i]。。。此时就是一个对象。
希望楼主好好理解下
兄弟,首先你的主要方法不对,应该为public int[] sToArray(),或者是直接带个形参public int[] sToArray(String[] stringDemo),另外,类a和类b最好在一个包中,如不在用import导入。
具体的代码如下:
package src;
public class ArrayDemo
{
int[] int_array;
String[] string_array;
public ArrayDemo()
{
int_array=new int[2];
string_array=new String[]{"10","20"};
}
public int[] sToArray()
{
for(int i=0;istring_array.length;i++)
{
int_array[i]=Integer.parseInt(string_array[i]);
}
return int_array;
}
public int[] sToArray(String[] stringDemo_array)
{
for(int i=0;istringDemo_array.length;i++)
{
int_array[i]=Integer.parseInt(stringDemo_array[i]);
}
return int_array;
}
}
package src;
public class ArrayPlusDemo
{
public static void main(String[] args)
{
ArrayDemo ad=new ArrayDemo();
System.out.println("调用另一个类(ArrayDemo)中的变量(int_array)");
for(int i=0;iad.int_array.length;i++)
{
// 由于类对象ad在构造方法中,只是申请了一个空间,并没有初始化,所以它的数值为自动赋值的0;
System.out.println("类(ArrayDemo)中变量(int_array)的第 "+(i+1)+" 个值是:"+ad.int_array[i]);
}
System.out.println("调用另一个类(ArrayDemo)中的变量(string_array)");
for(int i=0;iad.string_array.length;i++)
{
System.out.println("类(ArrayDemo)中变量(string_array)的第 "+(i+1)+" 个值是:"+ad.string_array[i]);
}
ad.int_array=ad.sToArray();
System.out.println("调用另一个类(ArrayDemo)中的方法(sToArray())");
for(int i=0;iad.int_array.length;i++)
{
System.out.println("ad.int_array的结果为:"+ad.int_array[i]);
}
ad.int_array=ad.sToArray(ad.string_array);
System.out.println("调用另一个类(ArrayDemo)中的方法(sToArray(String[] stringDemo))");
for(int i=0;iad.int_array.length;i++)
{
System.out.println("ad.int_array的结果为:"+ad.int_array[i]);
}
}
}
//利用纯面向对象的方法,给你写一个简单的
package exam;
public class MyArray {
private double sum; //和
private double avg; //平均值
private double[] array; //容纳double类型元素的数组
public MyArray(int size){ //初始化数组的大小
array = new double[size=0?1:size]; //标示数组容量 ,不能小于等于 0 ,否则数组为1个元素的容量
}
//向 数组中添加元素,参数为变长参数 即
// addElement(1.0d);可行
//addElement(1.0d,2.0d,3.0d)可行
//处理参数时,当做数组
public void addElements(double ..elements){
//如果参数为空 ,则跳出方法
if(elements==null)
return;
//处理参数并保存到array数组,条件是参数的个数不能大于array的容量
//你可以考虑数据超多的情况,这里没有后续处理 。。
for(int i=0;ielements.lengthelements.length=array.length;i++)
array[i]=elements[i];
}
//获取数组元素累加的和
public double getSum(){
for(double el :array)
sum+=el;
return this.sum;
}
//获取数组元素的平均值,除数永远不可能为0或者负数
public double getAvg(){
this.avg = this.getSum()/this.array.length;
return this.avg;
}
//其他方法可以自己定义
//测试方法main
public static void main(String[] args){
MyArray my = new MyArray(5);
my.addElements(12.0d,13.2d,20.1d,22.4d,100d);
double sumR = my.getSum(); //得到和
double avgR = my.getAvg(); //得到平均值
//其他自己去处理吧
}
}
a是数组的地址
这个输出正确
要想输出数组中元素的话
遍历一下就可以了
for(int i=0;ia.length;i++)
{
System.out.println(a[i]);
}
package demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
public class login {
public static void main(String[] args) {
test();
}
static MapString, Student map = null;
//DB
private static Map getDB() {
if(map !=null){
return map;
}else{
map = new HashMapString, Student();
map.put("1", new Student("1", "boy", "钢铁侠"));
return map;
}
}
//login
public static boolean isUser(){
String toC="";
try {
System.out.println("请输入用户名:\n");
toC = new BufferedReader(new InputStreamReader(System.in)).readLine();
} catch (IOException e) {
// sunxn Auto-generated catch block
e.printStackTrace();
}
boolean success;
Map map = getDB();
Student st = (Student) map.get(toC);
//st != null?success=false:success=true;??
if(st!=null){
success=true;
}else{
success = false;
}
return success;
}
public static void sys(){
String toC="";
try {
toC = new BufferedReader(new InputStreamReader(System.in)).readLine();
} catch (IOException e) {
// sunxn Auto-generated catch block
e.printStackTrace();
}
if(toC.equals("2")){
System.out.println("您已退出!");
test();
}
if(toC.equals("1")){
System.out.println("正在查询!");
query();
}
}
public static void query(){
Map map = getDB();
Student st = null;
for (int i = 0; i map.size(); i++) {
st=(Student) map.get("1");
System.out.println(st.getName()+"\t"+st.getNumber()+"\t"+st.getSex());
}
System.out.println("查询完毕,");
sys();
}
//
public static void test(){
System.out.println("please inpu 0:login:\n");
String toC="";
try {
toC = new BufferedReader(new InputStreamReader(System.in)).readLine();
} catch (IOException e) {
// sunxn Auto-generated catch block
e.printStackTrace();
}
if(toC.equals("0")){
System.out.println("正在跳转,login...");
boolean success = isUser();
if(success){
System.out.println("ok!登陆成功");
System.out.println("请输入查询还是退出1:2");
sys();
}else{
System.out.println("no!登陆失败");
test();
}
}
}
}
只需要 scnner
和
if判断就可以了
当然还有最外层支撑小程序的循环