以下是错误。预期输出
>>> instance.get_instance_attribute.__self__ # the instance
<__main__.MyClass object at 0x10f92b5f8>
>>> instance.get_class_attribute.__self__ # the class
<class '__main__.MyClass'>
但它给出了错误“不兼容的类型:char无法转换为布尔值”
ch is now : U
ch is now : V
ch is now : W
ch is now : X
ch is now : Y
答案 0 :(得分:1)
for ( ch = 85; ch = 90; ch++){
请阅读Java documentation for
声明。请注意,一般表格表示为
for(初始化;终止; 增量) { 声明(S) }
和
当终止表达式的计算结果为false时,循环 终止。
&#34;终止&#34;这里应该是一个评估为true
或false
的条件。
ch=90
不能用于&#34;终止&#34;因为这是一项作业,不会评估为true
或false
您可以考虑将其更改为ch<=90
以使&#34;终止&#34;设置为ch
达到90时,使循环运行直到ch
为&#34;小于或等于&#34; 90,一旦它增加到91,循环终止,因为条件评估为false
导致&#34;终止&#34;循环
答案 1 :(得分:0)
我不熟悉Java,但也许你可以试试这个,
class chararithdemo {
public static void main(String[] args) {
// added assigning of ch = 0 so it is not empty.
char ch = '';
// changed ch = 90 to ch <= 90 so it doesn't assign but compare the two.
for ( ch = 85; ch <= 90; ch++){
System.out.println( " ch is now : " + ch);
}
}
}
答案 2 :(得分:0)
ch&lt; 90是一个条件,应该被评估为布尔值,因此误差,而ch = 90是赋值,即我们是 将90分配给ch;
public static void main(String[] args) {
char ch ;
for ( ch = 85; ch < 90; ch++){ //error is here
System.out.println( " ch is now : " + ch);
}
}
这是适合您的控制台:
ch is now : U
ch is now : V
ch is now : W
ch is now : X
ch is now : Y