我在从自定义方法返回数组时遇到问题.编译好但我回来了:
[Ljava.lang.String;@20cf2c80
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)
我用:
System.out.println(getItem(1));
Run Code Online (Sandbox Code Playgroud)
码:
public static String[] getItem(int e) {
String[] stats = new String[7];
String name = "Null";
String desc = "None";
String typeOf = "0";
String attackAdd = "0";
String defenseAdd = "0";
String canSell = "true";
String canEat = "false";
String earnedCoins = "0";
if (e == 1) {
name = "Pickaxe";
desc = "Can be used to mine with.";
typeOf = "2";
}
return new String[] { …Run Code Online (Sandbox Code Playgroud) 所以我试图在我的程序中打印一组int,并按照这些说明打印Java数组的最简单方法是什么?
写了以下代码:
int[] totals = //method that returns int array
System.out.println(Arrays.toString(totals));
Run Code Online (Sandbox Code Playgroud)
但它不会编译说
"类Object中的方法toString不能应用于给定类型.requires:找不到参数:int [] reason:实际和形式参数列表的长度不同"
为什么这样做?我不将我的数组作为参数传递给toString吗?如果没有,我如何使用toString?
谢谢!
我想打印一个像表格一样的输入二维数组,即如果由于某种原因他们放入了所有1 ...
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Run Code Online (Sandbox Code Playgroud)
就像上面这样,但在Java eclipse的控制台中,没有花哨的按钮和GUI,但在控制台中,这就是我所拥有的....
import java.util.Scanner;
public class Client {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int[][] table = new int[4][4];
for (int i=0; i < table.length; i++) {
for (int j=0; j < table.length; j++) {
System.out.println("Enter a number.");
int x = input.nextInt();
table[i][j] = x;
System.out.print(table[i][j] + " ");
}
System.out.println();
}
System.out.println(table);
}
}
Run Code Online (Sandbox Code Playgroud)
当我输入所有内容并且控制台终止时,这就是我得到的:
Enter a …Run Code Online (Sandbox Code Playgroud) get1()方法返回一个数组.我确实得到了输出,但来自的get1()是[D@addbf1
我的问题是有没有办法直接使用返回的数组来获取值inf1[0]并inf1[1]在输出语句中显示它?
我知道其他显示输出的方法.但我想知道我是否可以直接检索返回数组的元素.
class vehicle{
double [] inf1 = new double[2];
void set(double d, double s) {
inf1[0]=d;
inf1[1]=s;
}
double[] get1() {
return inf1;
}
}
public class calc2 {
public static void main(String args[]) {
vehicle ob = new vehicle();
ob.set(56.24, 75);
System.out.println("The time taken to cover "+ob.get1());
}
}
Run Code Online (Sandbox Code Playgroud) 字符串数=("5,25,77,44,64,8,55,28,86,35");
我想从字符串返回一个double值数组.我无法使用以下代码成功完成此操作:
public static double[] fillArray(String numbers)
{
String[] answers = numbers.split(",");
double[] boom = new double[answers.length];
for (int index = 0; index < answers.length; index++)
{
boom[index] = Double.parseDouble(answers[index]);
}
return boom;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误很奇怪......
[De56f047c
Run Code Online (Sandbox Code Playgroud)
为什么这样,我该如何解决?
当我打印出编码时
//display the board
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
char [][] gameboardTwo = {{'*', '*', 'S', 'T', 'A','R', '*', 'W', 'A', 'R', 'S', '*', '*', '*'}, {'*', '*', 'E','P', 'I', 'S', 'O', 'D', 'E', '*', '*', 'I', 'V', '*'}, {'*', '*', '*','*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}, {'*', '*', '*','*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}};
System.out.print(gameboardTwo);
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的回报是: …
public class Demo {
public static void main(int ...i) {
System.out.println(i);
}
}
class Demo1 {
public static void main(String ...s) {
Demo.main(1);
}
}
Run Code Online (Sandbox Code Playgroud)
答案是[我@ 659e0bfd
我正在尝试将 byte[] 转换为十六进制字符串,并将相同的十六进制字符串转换为 android 中的 byte[] ,数据不匹配。
前任 :
收到字节[]数据:[B@b39c86a
转换后的十六进制字符串:8be897cc3c4d9e5dd6a6bbd106d8e8d487691b56
当我解码十六进制字符串时,我得到[B@ea6d15b,但它应该是[B@b39c86a
我正在使用下面的代码进行转换。
public String byte2hex(byte[] a) {
/*StringBuilder sb = new StringBuilder(a.length * 2);
for (byte b : a)
sb.append(String.format("%02x", b & 0xff));
return sb.toString();*/
String hexString = "";
for(int i = 0; i < a.length; i++){
String thisByte = "".format("%x", a[i]);
hexString += thisByte;
}
return hexString;
}
public static byte[] hexStringToByteArray(String s) {
/* int len = s.length();
byte[] data = new …Run Code Online (Sandbox Code Playgroud) String s="StackOverflow is heaven";
char []c=new Char[100];
c=s.toCharArray();
System.out.println(c);
System.out.println("Output="+c);
Output is :- StackOverflow is heaven
Output=[C@15db9742
Run Code Online (Sandbox Code Playgroud)
为什么有不同的黑白输出?请解释一下