Ⅰ java数组调用问题
建议你去看一看局部变量和全局变量的作用域,
你就可以发现
public static void Inita(){
int a[]=new int[3];
a[0]=1;
a[1]=2;
a[2]=3;
}
这里面的数组a是局部变量,和上面的static的a并非同一个数组,也就是说,你的static数组并没有初始化。理所当然出现空指针异常。
Ⅱ java 如何调用主函数的数组
the 'aveRainfall' is a method, and you should add'(' ')', and it has an argument, you should pass it.
Ⅲ Java中的数组调用怎么弄
数组的4种声明方式:
1.先声明再初始化
例如:
//1.声明
int[] nums;
//初始化
nums = new int[5];
2.声明并初始化
例如:
//2.声明、初始化
int[] nums = new int[10];
3.创建数组同时赋值
例如:
//3.创建数组同时赋值
String[] names=new String[]{"大名","小米","夏雨荷"};
int[] ages=new int[]{21,22,21,56,13};
for (int i = 0;i < names.length;i++){
System.out.prinrln(names[i]);
}
for (int i = 0;i < ages.length;i++){
System.out.prinrln(ages[i]);
}
4.创建同时赋值,简写,不能写成两条语句
例如:
//4.创建同时赋值,简写,不能写成两条语句
String[] cities = {"上海","北京"};
(3)java数组函数调用扩展阅读:
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
Ⅳ java如何在函数中调用主函数的数组
import java.util.Scanner;
interface getGrade{
public void finGrade();
}
class First implements getGrade{
int a[];
public First(){}
public First(int grade[]){
a=grade.clone();
}
public void finGrade(){
int sum;
for (int i=0;i<=4;i++)
{
sum=sum+a[i];
}
int num;
num=sum/5;
System.out.println("平均成绩为:"+num);
}
};
class Second implements getGrade{
int a[];
public Second(){}
public Second(int grade[]){
a=grade.clone();
}
public void finGrade(){
int j,k,t;
for (j=1;j<5;j++)
for (k=0;k<5-j;k++)
if (a[k]>a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
a[0]=0;
a[4]=0;
int sun;
for (int i=0;i<=4;i++)
{
sun=sun+a[i];
}
int nun;
nun=sun/3;
System.out.println("平均成绩为:"+nun);
System.out.println("(去掉一个最高分和一个最低分)");
}
};
public class exer4 {
public static void main (String args[]){
System.out.println("请依次输入评委所给的分数");
System.out.println("(默认为五个评委)");
int a[] = new int [5];
Scanner reader = new Scanner(System.in);
int x = reader.nextInt();
int i;
for (i=0;i<=4;i++)
a[i]=x;
First fir=new First(a);
Second sec=new Second(a);
fir.finGrade();
sec.finGrade();
}
}
楼上设置全局变量是个方法,这样进行参数传递也是一种方法。
Ⅳ java 中如何调用数组中的数据
1、你数组里面的应该是4个对象
如果你的User里面定义了一个ID像这样, private String ID的话,
那么你只能通过get,set方法获取
比如
public String getID() {
return ID;
}
public void setID(String ID)
{
this.ID = ID;
}
这样你就可以用u[i].getID()来获取你的用户ID。
而且如果你的ID是String类型的,那么用==是不能判断两者相等的
因为==号相当预判断两个对象是否一样了,显然不符合你的想法,应该用a.equals(b);这样来判断
两个对象的ID的值是否相等。
如果是int的话==没问题,那么上面的get,set方法改一下类型就行了
Ⅵ Java中同一个类中一个函数如何调用另一个函数中的数组
把int[] array 定义为全局变量
publicclassTest{
publicstaticint[]arry;
}
Ⅶ JAVA调用函数传入数组问题
【这段程序总共就3个方法】:
void main(string args[]);//主方法
void pp(int x[]);//打印的方法
int[] init()/;/给int数组赋值的方法
【调用关系】:
void main(string args[])调用int[] init(),并把init()返回来的int数组作为参数传入pp(int x[])中,pp()负责打印出传进来的int数组。
【int[] init()分析】:
public static int[] init(){//前面加int[]说明这个方法会返回一个int数组
int x[]=new int[10];//申请并分配空间
for(int y=0; y<x.length; y++){//从1到10循环赋值给int数组
x[y] = y+1;
}
return x;//return后面跟的是返回的值,x就是一个int数组
}
【void pp(int x[])分析】:
public static void pp(int x[]){//前面加void说明这个方法没有返回值
for(int y=0;y<x.length;y++){//循环打印传进来的int数组
system.out.println("数组["+y+"]= "+x[y]);
}
}
【void main(string args[])分析】:
public static void main(string args[]){//主函数
int i[]=init();//调用init()方法,把返回的int数组赋值给i[]
pp(i);//把i(int数组)传入pp()中,打印出i数组
}
================================================
刚开始学编程吧,希望以上的分析对你的理解有所帮助
================================================
Ⅷ JAVA,在一个调用一个数组怎么调用
Ditu d = new Ditu();
d.show();
int[] data = d.ditu1;
一定要调用show方法后,在直接调用数组。
其实只是为了初始化数组ditu1,的话,可以搞个构造函数或static{}执行更好。
Ⅸ java数组调用的问题
publicclassChessboard{
finalintBOARD_SIZE=12;
staticString[][]board;
publicvoidinitBoard(){
board=newString[BOARD_SIZE][BOARD_SIZE];
for(inti=0;i<BOARD_SIZE;i++){
for(intj=0;j<BOARD_SIZE;j++){
board[i][j]="十";
}
}
}
publicvoidprintboard(){
for(inti=0;i<BOARD_SIZE;i++){
for(intj=0;j<BOARD_SIZE;j++){
System.out.print(board[i][j]);
}
System.out.println();
}
}
publicvoidsetBoard(intposX,intposY,Stringchessman){
this.board[posX][posY]=chessman;
}
publicString[][]getBoard(){
returnthis.board;
}
publicstaticvoidmain(String[]args){
Chessboardchessboard=newChessboard();
chessboard.initBoard();
chessboard.printboard();
System.out.println();
chessboard.setBoard(1,1,"田");
chessboard.printboard();
System.out.println();
Chessboardchessboard2=newChessboard();
chessboard2.printboard();
}
}
使用static即可,为了调试方便,这里两个Chessboard放在了同一个main函数中,我估计你也不能同时运行两个main函数
Ⅹ 用java编写在主函数中调用数组
import java.util.Scanner;
public class ja {
public static void main(String args[])
{
final int N = 10;
Scanner scanner = new Scanner(System.in);
System.out.println("请任意输入数字");
int[] arrayNumbers = {0,0,0,0,0,0,0,0,0,0};
for (int i = 0; i < N; i++) {
arrayNumbers[i] = scanner.nextInt();
}//
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
int[] arrayNumbers1 = arrangeNumbers.compareNumber(arrayNumbers);
arrangeNumbers.outputNumber(arrayNumbers1);
}
}
class ArrangedNumbers {
/**
* 对数字进行排序
*/
public int[] compareNumber(int[] arrayNumbers) {
for (int i = 0; i < arrayNumbers.length; i++) {
for (int j = 0; j < arrayNumbers.length - i - 1; j++) {
if (arrayNumbers[j] > arrayNumbers[j + 1]) {
int temp;
temp = arrayNumbers[j];
arrayNumbers[j] = arrayNumbers[j + 1];
arrayNumbers[j + 1] = temp;
}
}
}
return arrayNumbers;
}
/**
* 按升序排列输出
*/
public void outputNumber(int[] arrayNumbers)
{
System.out.println("按升序排序:");
for (int i = 0; i < arrayNumbers.length; i++) {
System.out.println(arrayNumbers[i]);
}
}
}
帮你改了下
0.arrayNumbers = scanner.nextLine(); 定义变量出了严重错误,没有变量类型
1.compareNumber方法的参数应该是一个整型数组
2.int[] arrayNumbers = arrangeNumbers.compareNumber(arrayNumbers); 这个重名也不行 int[] arrayNumbers1 = arrangeNumbers.compareNumber(arrayNumbers);
3.outputNumber(int[] arrayNumbers)这个方法的参数应该是这样的 要不然你方法体里面的arrayNumbers他哪知道哪来的
还有别的细节你自己看看,逻辑方法还是没有错的 就是有些方法用得不对和参数传递出错