java-为什么char型数组定义在注释的地方就不行?

问题描述

为什么char型数组定义在注释的地方就不行?
 package cn.lut.test;

public class InvokeTest {
    char a[]={'a','b','c'};
    public static void main(String[] args) {
        //char a[]={'a','b','c'};
        InvokeTest test=new InvokeTest();
        System.out.println(test.a);
    }
}

解决方案

看懂了。。。你那个test是InvokeTest类的一个对象,其只可以调用该类的成员方法和成员变量,你在成员方法中定义了一个变量,其并不属于该类的成员变量,故会报错。

解决方案二:

IDEA 亲测,上面的代码可以运行

解决方案三:

对象只能调用自己有权限的方法和自己有权限的属性,你放在上面就表示这个a的char数组是类的属性,而且这个对象有权限调用,就可以使用,但放在方法里面,就不是类的属性了,只是个局部变量,对象只能通过调用它的方法来修改局部变量的值(比如通过传参改值)。

解决方案四:

在上面的定义的是全局变量。 而你在main 方法里面直接定义一个Char[]数组 你重新new了一个自身的方法 去调用main里面的方法肯定不对的啊

解决方案五:

表示看不懂你要表达的问题

解决方案六:

在那定义,属于局部,调用的方式需要改下

解决方案七:

楼上的顶,是可以的,只会输出全局变量a里面的内容

解决方案八:

可以输出啊 ,不过输出的是上面全局的 main方法中的被注释掉 不会执行

时间: 2024-12-27 19:01:24

java-为什么char型数组定义在注释的地方就不行?的相关文章

c语言-C 中将一个int型数赋值给char型数组的前4字节,数组后面仍为char型

问题描述 C 中将一个int型数赋值给char型数组的前4字节,数组后面仍为char型 C 中将一个int型数赋值给char型数组的前4字节,数组后面仍为char型 解决方案 最简单的是使用联合 union X { int val; char[100]; } X.val=1; http://blog.csdn.net/jiangnanyouzi/article/details/3158702 解决方案二: http://www.jb51.net/article/56009.htmhttp://v

java-JAVA获取字符型数组的问题

问题描述 JAVA获取字符型数组的问题 自学java中,为啥不能像获取int型的一样获取char型的数据,在Scanner类中为啥没有nextChar(); 而用String又为什么可以,求解答~ 解决方案 以为int可以看做一个数字类别中常用的一个类别. 而char完全可以归类到String中去. 解决方案二: 用不着,用string获取了,tochararray就可以了. 解决方案三: char的本质就是int,可以通过nextInt获取呀. 解决方案四: java中字符型和整型的转换问题j

怎么取得整型数组中连续相同的数字并输出打印,用java实现,也就是输出副本,只输出那些连续相同的数字

问题描述 怎么取得整型数组中连续相同的数字并输出打印,用java实现,也就是输出副本,只输出那些连续相同的数字 怎么取得整型数组中连续相同的数字并输出打印,用java实现,也就是输出副本,只输出那些连续相同的数字 解决方案 判断一下一个数字前后是否有相同的,有相同的话就输出,比如下面这样: int array [] = { 2,1,3,4,4,4,9,9,1,0,1,1,2 }; //只输出连续的数字 System.out.print("连续数字:"); for (int i=0;i&

在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素。

题目:在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素.要求:(1)给出算法的基本设计思想.(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释.(3)说明你所设计算法的时间复杂度和空间复杂度. (1)基本的设计思想: 一个数字出现的次数超过了长度的一半, 那么我们可以这样认为这个数字出现的个数一定大于其他全部数字出现的个数之和.算法的步骤如下: ①设数组为data[],数组长度为n,i=1.置currentAxi

字符型数组 可以存储字符串吗

问题描述 字符型数组 可以存储字符串吗 #include int g;// 存储在全局静态区 int main() { char *p1 = "hahajhkj"; // 和g一样 char p2[] = "haha"; // 堆栈中 *p1='a'; printf("%x %x %x", &g, p1,p2); return 0; } 为什么老是停止运行啊 解决方案 p1常量指针,不能修改 解决方案二: char *p1 = "

C语言删除无序整型数组中的重复元素及时间复杂度

遇到一个题,大概要求是写一个函数处理来去掉一个无序的整型数组(例如int i_arr[] = { 1, 2, 2, 3, 4, 2, 3, 5 };)中重复的元素,并返回最终的长度. 1 思路 看到这道题的时候,第一反应就是需要删除元素,然后联想到单链表.但是后面一想还是不划算,因为单链表还得先把数组中的元素遍历到链表节点中. 换一下思路,可以先创建另一个整型数组(大小和原数组一样),然后正向遍历数组中的元素,比较当前元素和它前面所有的元素是否重复,如果这个整数之前没有出现过,那么就放到新的数组

C++按照正态分布来排列整型数组元素_C 语言

题目要求如下: 给定一个数组input[], 如果数组长度n为奇数,则将数组中最大的元素放到output[]数组最中间的位置, 如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上, 然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数. 这种处理后结果,如果按照元素的值表示一种分布的图形的话,那绘制后的图形应该是正态分布. 关于正态分布: 正态分布(Normal distribution)又名高斯分布(Gaussia

c语言-关于整型数组中数字使用printf输出的问题

问题描述 关于整型数组中数字使用printf输出的问题 #include int main(void) { int number[40]; scanf("%s", number); printf("%d", number[0]); return 0; } 数字以字符格式存在数组里,既然字符以数字的形式存储,那为何用%d输出是垃圾值呢?用%c却是正常的 解决方案 字符格式和整型是不同的,字符0对应着48,字符1对应着整数49.... 解决方案二: 字符'0',对应0x

java 中char 类型可以以%d的输出?为什么?获取字符的方式只有用字符串吗

问题描述 java 中char 类型可以以%d的输出?为什么?获取字符的方式只有用字符串吗 java 中char 类型可以以%d的输出?为什么?获取字符的方式只有用字符串吗 解决方案 在ascii码表中,字符和数字是一一对应的,可以相互转换使用 解决方案二: 不光是java,c也可以,每一个字符都对应一个ascii码,你把char强转成int也可以输出,"获取字符的方式只有用字符串吗"没懂你啥意思. 解决方案三: