输出会乱码

来源:1-8 编程练习

慕工程4575316

2021-06-18 16:55:09

package com.imooc.array;

import java.util.Scanner;

public class ScoreDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

int[][] Array=new int[3][2];

       String[] Array1={"语文","数学"};

       Scanner sc=new Scanner(System.in);

       for(int i=0;i<Array.length;i++){

           for(int j=0;j<Array[i].length;j++){

               System.out.println("请输入第"+(j+1)+"个学生的"+Array1+"成绩:");

                Array[i][j]=sc.nextInt();                

           }           

       }       

       System.out.println("语文的总成绩为:"+(Array[0][0]+Array[1][0]+Array[2][0]));

       System.out.println("语文的平均分为:"+((Array[0][0]+Array[1][0]+Array[2][0])/3));

       System.out.println("数学的总成绩为:"+(Array[0][1]+Array[1][1]+Array[2][1]));

       System.out.println("语文的总成绩为:"+((Array[0][0]+Array[1][0]+Array[2][0])/3));

   }

}

问题描述:



我想用一维数组来记录语文和数学,但是输出就是这样

请输入第1个学生的[Ljava.lang.String;@214c265e成绩:

会乱码

写回答

1回答

好帮手慕阿园

2021-06-18

同学你好,这里并不是乱码哦,这是输出的是对象的地址信息,因为Array1是对象,直接输出对象输出的是对象地址,这里可以使用对应索引来获取数组中的值,,可以使用Array1[j]来获取,另外输出语句输出第几个学生时应该使用i++,而不是j++

如下

​System.out.println("请输入第"+(i+1)+"个学生的"+Array1[j]+"成绩:");

祝学习愉快~

0

0 学习 · 16556 问题

查看课程