public class stu { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
        float myArray[][]={{34.85,8.60,23.80,70.00},{65.76,89.23,90.00,54.95}}; 
        for (int j = 0; j < myArray.length; j++) { 
        for (int i = 0; i < myArray[1].length; i++) { 
         System.out.println(myArray[j][i]); 
        }
}}这个程序危害出错?

解决方案 »

  1.   

    public static void main(String[] args) {
    // TODO Auto-generated method stub
      float myArray[][]={{34.85f,8.60f,23.80f,70.00f},{65.76f,89.23f,90.00f,54.95f}};  
      for (int j = 0; j < myArray.length; j++) {  
      for (int i = 0; i < myArray[1].length; i++) {  
      System.out.println(myArray[j][i]);  
      }
    }}
      

  2.   

    或者float myArray[][]={{34.85,8.60,23.80,70.00},{65.76,89.23,90.00,54.95}};
    改为double myArray[][]={{34.85,8.60,23.80,70.00},{65.76,89.23,90.00,54.95}};
      

  3.   

    浮点数默认为double型的,不能隐式转换为float,所以修改为如下的:
      
    public class stu {/**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
      float myArray[][]={{34.85f,8.60f,23.80f,70.00f},{65.76f,89.23f,90.00f,54.95f}};  
      for (int j = 0; j < myArray.length; j++) {  
      for (int i = 0; i < myArray[1].length; i++) {  
      System.out.println(myArray[j][i]);  
      }
    }
    }//少了括号
    }
      

  4.   


    for (int i = 0; i < myArray[1].length; i++)你的数据的第二维的长度有可能会有长有短的,循环的时候不可以都以第一行的length来代替
      

  5.   

    这是因为你写个类似23.34这样的浮点数,java默认他是double类型的,你要赋值给float需要转换下
    还有你别忘了结贴
      

  6.   

    要在浮点数后面加上“f”   或者类型干脆写成“double”  楼主结贴  分。。
      

  7.   

    沒設別需要的話就宣告成 int
    float myArray[][] --> int myArray[][]
      

  8.   

    for (int i = 0; i < myArray[1].length; i++) {  
    还有安全起建
    for (int i = 0; i < myArray[j].length; i++) {  
      

  9.   

    改成double数组。妥妥的。
    要不就记得在小数结尾+f才是float