Tag: 数组

Java – 创建方法数组

我正在为学校的进步设计一个基于文本的冒险游戏。 我将每个“级别”设置为一个类,并将每个可探测区域(节点)设置为相应类中的方法。 让我感到困惑的是从一个节点移动到另一个节点的代码。 因为每个节点最多连接四个其他节点,所以我必须在每个方法中重复一个非常相似的代码块。 我更喜欢做的是在每个节点的开头包含一组方法,如下所示: public static void zero() { … adjacentNodes[] = {one(), two(), three(), four()}; } 然后将该数组发送到通用方法,并让它将播放器发送到正确的节点: public static void move(…[] adjacentNodes, int index) { adjacentNodes[index]; } 我简化了我的代码,但这是一般的想法。 这可能吗?

返回点击按钮的索引?

我有一个30个按钮[]的数组。 我有一个变量buttonClicked。 当我按下按钮时,如何获取索引并将索引号存储在buttonClicked中? 谢谢 :) JButton [] buttons = new JButton[30]; for(int i = 1; i 10 && i <= 20) ? (31 – i) : i; System.out.printf("i = %d, btnNumber = %d%n", i, btnNumber); buttons[btnNumber – 1] = new JButton("label " + btnNumber); //buttons[btnNumber – 1].setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); buttons[btnNumber – 1].setBorder(BorderFactory.createEtchedBorder()); buttons[btnNumber – […]

按降序排序int数组

可能重复: 按降序对基本类型的数组进行排序 Java:如何以相反的顺序对浮点数组进行排序? 如何在Java中反转int数组? 以下代码将按升序对数组进行排序: int a[] = {30,7,9,20}; Arrays.sort(a); System.out.println(Arrays.toString(a)); 我需要按降序排序。 如何使用Comparator执行此操作? 请帮忙。

Java – 操作顺序 – 在单行中使用两个赋值运算符

在一行中使用两个赋值运算符时的操作顺序是什么? public static void main(String[] args){ int i = 0; int[] a = {3, 6}; a[i] = i = 9; // this line in particular System.out.println(i + ” ” + a[0] + ” ” + a[1]); } 编辑:感谢您的post。 我得到了=从右边获取值,但是当我编译它时,我得到: 9 9 6 我认为它本来是和ArrayOutOfBoundsexception,但它在它移动到9 之前分配’a [i]’它是否只是为数组执行此操作?

Java ArrayIndexOutOfBoundsexception

也许我一直在看这个问题太长时间,因为我找不到问题,但它应该是简单的事情。 我在行上收到一个ArrayIndexOutOfBoundsexception: nextWord = MyArray[i + 1].toLowerCase(); 谁能明白为什么? String currentWord = “”; String nextWord = “”; for (int i = 0; i 0 && i < MyArray.length) { currentWord = MyArray[i].toLowerCase(); nextWord = MyArray[i + 1].toLowerCase(); /* EXCEPTION */ System.out.println("CURRENT WORD: " + currentWord); System.out.println("NEXT WORD: " + nextWord); } } 谢谢!

循环遍历数组中的元素

这是我的代码: int myArray[]={1,2,3,4,5,6,7,8}; for(int counter=myArray.length; counter > 0;counter–){ System.out.println(myArray[counter]); } 我想按降序打印出数组,而不是按升序排列(从数组的最后一个元素到第一个元素),但我只是抛出了这个错误: Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 8 at task1.main(task1.java:14) 为什么会这样? 我希望通过使用myArray.length将计数器设置为8,代码将打印出数组的第8个元素,然后在此之前继续打印。

Java ArrayList的时间复杂度

我发现这个问题的其他条目涉及特定方法,但没有全面的。 我想validation自己对这种数据结构中最常用的方法的理解: O(1) – 恒定时间: isEmpty() add(x) add(x, i) set(x, i) size() get(i) remove(i) O(N) – 线性时间: indexof(x) clear() remove(x) remove(i) 它是否正确? 谢谢你的帮助。

“实际或正式的参数列表长度不同”

当我尝试在Friends f = new Friends(friendsName, friendsAge);的()括号中放置一些东西时Friends f = new Friends(friendsName, friendsAge); 它出现了错误: 类中的构造函数朋友不能通过应用于给定的类型。 必需:没有参数。 找到:String,int。 原因:实际或正式的参数列表长度不同。 但是当我取出参数时,我的朋友列表只显示“null 0”。 即使我有String friendsName = input.next();也没有设置值String friendsName = input.next(); ? 此外,当我尝试删除朋友时,它不会做任何事情。 在源代码中它确实会发出警告, 对util.java.Collection.remove的可疑调用:给定对象不能包含给定的String实例(期望的Friends)。 我对这一切意味着什么感到困惑? import java.util.ArrayList; import java.util.Scanner; public class Friends { public static void main( String[] args ) { int menu; int choice; choice = 0; Scanner input […]

Java – 旋转数组

因此,目标是将arrays中的元素旋转一次。 举个例子; 如果a==2 ,则array = {0,1,2,3,4}将变为array = {3,4,0,1,2} 这就是我所拥有的: for (int x = 0; x <= array.length-1; x++){ array[x+a] = array[x]; } 但是,这不能解释何时[x+a]大于数组的长度。 我读到我应该存储那些在不同数组中更大的数据但是看作是变量的我不确定这是最好的解决方案。 提前致谢。

Wav文件在java中转换为字节数组

我的项目是“对阿塞拜疆语言的语音识别”。 我必须编写一个将wav文件转换为字节数组的程序。 如何将音频文件转换为byte []?