gpt4 book ai didi

java - 无法在Java中初始化二维数组

转载 作者:行者123 更新时间:2023-12-01 12:41:43 25 4
gpt4 key购买 nike

我试图将鼠标的 X 轴位置和鼠标的 Y 轴位置分别存储在二维数组中并稍后使用它,但出现错误。我是数组新手,我正在尝试使用 for 循环和实例变量/全局变量初始化二维数组。我收到的错误说“数组常量只能在初始值设定项中使用”。我查看了文档并更改了代码,但没有得到解决方案。

我阅读以获得解决方案的问题和文档

我的代码:

package com.selenium;

import java.awt.*;

public class MouseAxis {
int[][] mouseLocation ;
int AxisX;
int AxisY;

public void getAxisXAndY(int x, int y){
AxisX=x;
AxisY=y;
} // getAxisXAndY

public void mouseAxisPosition() throws AWTException{
int x , y;
PointerInfo pointer = MouseInfo.getPointerInfo();
Point point = pointer.getLocation();
x=(int)point.getX();
y=(int)point.getY();
getAxisXAndY(x,y);
} // mouseAxisPosition

public void storeMouseLocation(){
for(int i=0; i<=20; i++){
for(int j=i; j<=1; j++){
int[][] temp = new int[j][i];
temp[j][i]={AxisX,AxisY} ;
mouseLocation[j][i]=temp[j][i];
Thread.sleep(4000);
mouseAxisPosition();
} // for_2
} // for_1
} // storeMouseLocation
} // MouseAxis

最佳答案

问题是您正在尝试将数据存储在索引中。如果您想要一系列位置,那么您有几个选择:

有 2 个数组

int lastLocation = 0;
int[] x = new int[10];
int[] y = new int[10];

PointerInfo pointer = MouseInfo.getPointerInfo();
Point point = pointer.getLocation();
x[lastLocation] = (int)point.getX();
y[lastLocation] = (int)point.getY();
lastLocation++;

给定索引 i,您可以从数组中获取 x 和 y 值。

创建特殊类型的数组

只需存储整个Point对象:

int lastLocation = 0;
Point[] points = new Point[10];
PointerInfo pointer = MouseInfo.getPointerInfo();
Point point = pointer.getLocation();
points[lastLocation] = point;
lastLocaiton++;

关于java - 无法在Java中初始化二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25042479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com