Java 用另一种方法访问数组
我试图用一个单独的方法来访问一个数组,它是在这个方法中初始化的Java 用另一种方法访问数组,java,arrays,variables,public,Java,Arrays,Variables,Public,我试图用一个单独的方法来访问一个数组,它是在这个方法中初始化的 public void initializeArray() { String sentences[] = new String[5]; for(int i=0; i<5; i++) { sentences[i] = i+1; } } public void printArray() { for(int i=0; i<5; i++
public void initializeArray()
{
String sentences[] = new String[5];
for(int i=0; i<5; i++)
{
sentences[i] = i+1;
}
}
public void printArray()
{
for(int i=0; i<5; i++)
{
System.out.println(sentences[i]);
}
}
public void initializeArray()
{
字符串语句[]=新字符串[5];
对于(int i=0;i将printArray
方法的签名更改为
public void printArray(String[] sentences){...}
你有吗
public void initializeArray(){
int arraySize = 5;
String[] sentences = new String[arraySize];
for(int i=0; i<arraySize; i++){
sentences[i] = new String(i+1);
}
printArray(sentences);
}
public void initializeArray(){
int-arraySize=5;
String[]句子=新字符串[arraySize];
对于(int i=0;i将printArray
方法的签名更改为
public void printArray(String[] sentences){...}
你有吗
public void initializeArray(){
int arraySize = 5;
String[] sentences = new String[arraySize];
for(int i=0; i<arraySize; i++){
sentences[i] = new String(i+1);
}
printArray(sentences);
}
public void initializeArray(){
int-arraySize=5;
String[]句子=新字符串[arraySize];
对于(int i=0;i使句子成为两个函数的全局变量或参数。使句子成为两个函数的全局变量或参数
我试图在程序顶部创建一个数组实例,但是
它给了我一个错误,说“局部变量隐藏一个字段”
您已经有一个实例变量,因此请删除方法中的局部变量:
public void initializeArray()
{
//String Sentences[] = new String[5];
...
}
也不要像在for循环中那样使用幻数:
for(int i=0; i<5; i++)//use `sentences.length` instead of `5`
for(int i=0;i
我试图在程序顶部创建一个数组实例,但是
它给了我一个错误,说“局部变量隐藏一个字段”
您已经有一个实例变量,因此请删除方法中的局部变量:
public void initializeArray()
{
//String Sentences[] = new String[5];
...
}
也不要像在for循环中那样使用幻数:
for(int i=0; i<5; i++)//use `sentences.length` instead of `5`
for(int i=0;i从两种方法访问同一数组有两种方法:
- 通过数组类型的实例变量访问数组,或
- 将数组作为参数传递给方法
第一种方法如下所示:
class TestInstanceVar {
private String[] sentences = new String[5];
public static void main(String[] args) {
TestInstanceVar obj = new TestInstanceVar();
obj.initializeArray();
obj.printArray();
}
public void initializeArray() {
...
}
public void printArray() {
...
}
}
class TestPassArray {
public static void main(String[] args) {
private String[] sentences = new String[5];
initializeArray(sentences);
printArray(sentences);
}
public static void initializeArray(String[] sentences) {
...
}
public static void printArray(String[] sentences) {
...
}
}
public class Example {
static String sentences[] = new String[5];;
public static void main(String[] args) {
initializeArray();
printArray();
}
public static void initializeArray() {
for (int i = 0; i < 5; i++) {
sentences[i] = "" + (i + 1);
}
}
public static void printArray() {
for (int i = 0; i < 5; i++) {
System.out.println(sentences[i]);
}
}
}
在这里,方法作为实例变量访问语句
,在同一实例上运行的所有方法中共享
第二种方法如下所示:
class TestInstanceVar {
private String[] sentences = new String[5];
public static void main(String[] args) {
TestInstanceVar obj = new TestInstanceVar();
obj.initializeArray();
obj.printArray();
}
public void initializeArray() {
...
}
public void printArray() {
...
}
}
class TestPassArray {
public static void main(String[] args) {
private String[] sentences = new String[5];
initializeArray(sentences);
printArray(sentences);
}
public static void initializeArray(String[] sentences) {
...
}
public static void printArray(String[] sentences) {
...
}
}
public class Example {
static String sentences[] = new String[5];;
public static void main(String[] args) {
initializeArray();
printArray();
}
public static void initializeArray() {
for (int i = 0; i < 5; i++) {
sentences[i] = "" + (i + 1);
}
}
public static void printArray() {
for (int i = 0; i < 5; i++) {
System.out.println(sentences[i]);
}
}
}
这里,数组是在main
方法中创建的,并作为参数显式传递给初始化和打印方法。请注意,这些方法被标记为static
,并且在不创建对象的情况下进行访问。有两种方法可以从两个方法访问同一数组:
- 通过数组类型的实例变量访问数组,或
- 将数组作为参数传递给方法
第一种方法如下所示:
class TestInstanceVar {
private String[] sentences = new String[5];
public static void main(String[] args) {
TestInstanceVar obj = new TestInstanceVar();
obj.initializeArray();
obj.printArray();
}
public void initializeArray() {
...
}
public void printArray() {
...
}
}
class TestPassArray {
public static void main(String[] args) {
private String[] sentences = new String[5];
initializeArray(sentences);
printArray(sentences);
}
public static void initializeArray(String[] sentences) {
...
}
public static void printArray(String[] sentences) {
...
}
}
public class Example {
static String sentences[] = new String[5];;
public static void main(String[] args) {
initializeArray();
printArray();
}
public static void initializeArray() {
for (int i = 0; i < 5; i++) {
sentences[i] = "" + (i + 1);
}
}
public static void printArray() {
for (int i = 0; i < 5; i++) {
System.out.println(sentences[i]);
}
}
}
在这里,方法作为实例变量访问语句
,在同一实例上运行的所有方法中共享
第二种方法如下所示:
class TestInstanceVar {
private String[] sentences = new String[5];
public static void main(String[] args) {
TestInstanceVar obj = new TestInstanceVar();
obj.initializeArray();
obj.printArray();
}
public void initializeArray() {
...
}
public void printArray() {
...
}
}
class TestPassArray {
public static void main(String[] args) {
private String[] sentences = new String[5];
initializeArray(sentences);
printArray(sentences);
}
public static void initializeArray(String[] sentences) {
...
}
public static void printArray(String[] sentences) {
...
}
}
public class Example {
static String sentences[] = new String[5];;
public static void main(String[] args) {
initializeArray();
printArray();
}
public static void initializeArray() {
for (int i = 0; i < 5; i++) {
sentences[i] = "" + (i + 1);
}
}
public static void printArray() {
for (int i = 0; i < 5; i++) {
System.out.println(sentences[i]);
}
}
}
这里,数组是在main
方法中创建的,并作为参数显式传递给初始化和打印方法。请注意,这些方法被标记为static
,并且在不创建对象的情况下访问。让您的initializeArray
返回数组,如中所示
public String[] initializeArray () {
...
return sentences;
}
将printary
更改为
public void printArray (String [] arr) {
...
System.out.println(arr[i]);
}
设想一个主要方法,如
String myArr [] = initializeArray ();
printArray (myArr);
让您的initializeArray
返回一个数组,如中所示
public String[] initializeArray () {
...
return sentences;
}
将printary
更改为
public void printArray (String [] arr) {
...
System.out.println(arr[i]);
}
设想一个主要方法,如
String myArr [] = initializeArray ();
printArray (myArr);
以下方面应起作用:
class MyClass
{
private String sentences[] = new String[5];
public void initializeArray()
{
for(int i=0; i<5; i++)
{
sentences[i] = i+1;
}
}
public void printArray()
{
for(int i=0; i<5; i++)
{
System.out.println(sentences[i]);
}
}
}
class-MyClass
{
私有字符串语句[]=新字符串[5];
公共无效初始值设定项array()
{
对于(int i=0;i而言,以下各项应适用:
class MyClass
{
private String sentences[] = new String[5];
public void initializeArray()
{
for(int i=0; i<5; i++)
{
sentences[i] = i+1;
}
}
public void printArray()
{
for(int i=0; i<5; i++)
{
System.out.println(sentences[i]);
}
}
}
class-MyClass
{
私有字符串语句[]=新字符串[5];
公共无效初始值设定项array()
{
对于(inti=0;i而言,printary
方法对句子一无所知,对吗
Java是按值传递的,它要求您将一段数据的值直接传递给一个方法,以便该方法对其进行处理。全局值基本上是每个对象都知道的值
因此,您需要一些东西来告诉initializeArray
和printary
应该处理这段数据语句
// A Calling Function
public void initializeAndPrintStringArray
{
// Get the initialized Sentences Array
String[] sentences = initializeArray();
// Print this Initialized Array
printArray(sentences)
}
// For doing this, you need to change the definitions of your methods
public String[] initializeArray()
{
String[] sentences = new String[5]; // You have a spelling mistake here
for(int i=0; i<5; i++)
{
sentences[i] = i+1;
}
return sentences
}
public void printArray(String[] sentences)
{
// Don't assume the length will always be 5 or something you know beforehand.
for(int i=0; i<sentences.length; i++)
{
System.out.println(sentences[i]);
}
}
//调用函数
public void initializeAndPrintStringArray
{
//获取初始化的句子数组
String[]句=initializeArray();
//打印此初始化数组
打印数组(句子)
}
//为此,您需要更改方法的定义
公共字符串[]initializeArray()
{
String[]句=新字符串[5];//这里有拼写错误
对于(inti=0;i而言,printary
方法对句子一无所知,对吗
Java是按值传递的,它要求您将一段数据的值直接传递给一个方法,以便该方法对其进行处理。全局值基本上是每个对象都知道的值
因此,您需要一些东西来告诉initializeArray
和printary
应该处理这段数据语句
// A Calling Function
public void initializeAndPrintStringArray
{
// Get the initialized Sentences Array
String[] sentences = initializeArray();
// Print this Initialized Array
printArray(sentences)
}
// For doing this, you need to change the definitions of your methods
public String[] initializeArray()
{
String[] sentences = new String[5]; // You have a spelling mistake here
for(int i=0; i<5; i++)
{
sentences[i] = i+1;
}
return sentences
}
public void printArray(String[] sentences)
{
// Don't assume the length will always be 5 or something you know beforehand.
for(int i=0; i<sentences.length; i++)
{
System.out.println(sentences[i]);
}
}
//调用函数
public void initializeAndPrintStringArray
{
//获取初始化的句子数组
String[]句=initializeArray();
//打印此初始化数组
打印数组(句子)
}
//为此,您需要更改方法的定义
公共字符串[]initializeArray()
{
String[]句=新字符串[5];//这里有拼写错误
对于(int i=0;i您正在方法initializeArray()内声明变量语句[]。因此,它在该方法外不存在。一旦该方法完成,它就会消失。其他方法无法使用该变量
您应该在方法外部声明变量,如下所示:
class TestInstanceVar {
private String[] sentences = new String[5];
public static void main(String[] args) {
TestInstanceVar obj = new TestInstanceVar();
obj.initializeArray();
obj.printArray();
}
public void initializeArray() {
...
}
public void printArray() {
...
}
}
class TestPassArray {
public static void main(String[] args) {
private String[] sentences = new String[5];
initializeArray(sentences);
printArray(sentences);
}
public static void initializeArray(String[] sentences) {
...
}
public static void printArray(String[] sentences) {
...
}
}
public class Example {
static String sentences[] = new String[5];;
public static void main(String[] args) {
initializeArray();
printArray();
}
public static void initializeArray() {
for (int i = 0; i < 5; i++) {
sentences[i] = "" + (i + 1);
}
}
public static void printArray() {
for (int i = 0; i < 5; i++) {
System.out.println(sentences[i]);
}
}
}
公共类示例{
静态字符串语句[]=新字符串[5];;
公共静态void main(字符串[]args){
初始化array();
printArray();
}
公共静态void initializeArray(){
对于(int i=0;i<5;i++){
句子[i]=“”+(i+1);
}
}
公共静态void printary(){
对于(int i=0;i<5;i++){
系统输出打印LN(senten