如何在java中传递数组
我试图与main方法中定义的数组进行比较,需要将它们传递给compareAnswers方法。我该怎么做 这是我的密码:如何在java中传递数组,java,arrays,pass-by-reference,Java,Arrays,Pass By Reference,我试图与main方法中定义的数组进行比较,需要将它们传递给compareAnswers方法。我该怎么做 这是我的密码: /********************************************** * * Daniel Wilson * * CIS129 * * November 15 2017 * * Compaires test answers against correct answers * * **********************
/**********************************************
*
* Daniel Wilson
*
* CIS129
*
* November 15 2017
*
* Compaires test answers against correct answers
*
* ********************************************/
import java.io.*;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class CIS129_DanielWilson_PC6 {
public static void main(String args[]) {
final int SIZE = 20;
String[] givenAnswers = new String[SIZE];
String[] correctAnswers = { "B", "D", "A", "A", "C", "A", "B", "A", "C", "D", "B", "C", "D", "A", "D", "C ", "C", "B", "D", "A"};
String answers = compareAnswers();
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
try{
System.out.println(Arrays.toString(correctAnswers));
for (int i = 0; i<SIZE; i++) {
System.out.println("please enter your answer for question " + (i+1));
givenAnswers[i] = reader.readLine();
}
}catch (IOException e){
System.out.println("Error reading from user");
}
}
public static String compareAnswers(){
List<String> tempList = new ArrayList<String>();
for(int i = 0; i < correctAnswers.length; i++)
{
boolean foundString = false;
for(int j = 0; j < givenAnswers.length; j++)
{
if(givenAnswers[j].equals(correctAnswers[i]))
{
foundString = true;
break;
}
}
if(!foundString)
tempList.add(givenAnswers[i]);
}
String ammountRight[] = tempList.toArray(new String[0]);
for(int i = 0; i < ammountRight.length; i++)
{
System.out.println(ammountRight[i]);
}
}
}
/**********************************************
*
*丹尼尔·威尔逊
*
*CIS129
*
*2017年11月15日
*
*对比测试答案和正确答案
*
* ********************************************/
导入java.io.*;
导入java.io.IOException;
导入java.util.array;
导入java.util.List;
导入java.util.ArrayList;
公共类CIS129_DanielWilson_PC6{
公共静态void main(字符串参数[]){
最终整数大小=20;
字符串[]givenaswers=新字符串[大小];
字符串[]正确答案={“B”、“D”、“A”、“A”、“C”、“A”、“B”、“A”、“C”、“D”、“B”、“C”、“D”、“A”、“D”、“C”、“C”、“B”、“D”、“A”};
字符串答案=比较答案();
InputStreamReader输入=新的InputStreamReader(System.in);
BufferedReader reader=新的BufferedReader(输入);
试一试{
System.out.println(Arrays.toString(correctAnswers));
对于(inti=0;i像这样
public static String compareAnswers(ArrayList<String> firstArray, ArrayList<String> secondArray)
公共静态字符串比较应答器(ArrayList firstArray,ArrayList secondArray)
如何在java中传递数组
java只有按值调用;
但是java可以通过在需要的地方复制引用来传递引用
e、 g
只需传递它:)Java没有通过引用传递,一切都是通过值传递的我想说everyghint是通过引用传递的,但我能知道什么…@AntonH和Antoniosss Java总是通过值传递,通过引用传递意味着你可以分配给传递的变量,但你不能学习更好地格式化你的代码
public class Main{
public static void main(String[] args){
String[] arr = new String[size];
// fill your array!
Main.foo(arr);
public static void foo(String[] a){
// do something with your array.
// if you change a value of the array,
// the array in main will be changed too.
}
}