if ( year % 4 == 0 )
int i = 0;
else
int j = 0;
Run Code Online (Sandbox Code Playgroud)
由于这行代码而在eclipse中出现的语法错误是:
我不知道为什么会这样.
从我观察到的情况来看,我认为在if else构造体中放置一个int声明正在实现它.
如果我在代码中更早地声明i和j并运行程序,则错误消失如下:
int i; int j;
if ( year % 4 == 0 )
i = 0;
else
j = 0;
Run Code Online (Sandbox Code Playgroud)
在这种情况下没有语法错误.为什么?
如果它不是列表的第一项,则它是指向列表的指针的初始索引。
下一个方法
(1)返回的下一个元素并指向下一个元素,或者(2)返回原始的元素并将指针设置为下一个元素。
但是如果(1)为true,则指针位于第一个元素上,则无法返回第一个元素,即,如果(1)为true,则指针应位于第一个元素之前,即处于某种-1位置。
另一方面,如果(2)为true,那么我们可以删除第一个元素,但不能使用next来获取下一个元素,因为我们将索引减少1;
这将我带入下一个问题,remove()方法会将索引减少一个还是保持不变?
上下文代码如下:
package iterators;
import java.util.ArrayList;
import java.util.Iterator;
public class Array_practice {
public static void main(String args[])
{
ArrayList<Integer> list= new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
Iterator<Integer> iterator= list.iterator();
iterator.remove();//does not work why??
}
}
Run Code Online (Sandbox Code Playgroud) public class Arpan
{
String arpan;
public void arpan()
{
String arpan;
arpan = "myname";
}
public void sen()
{
arpan = "myname";
}
}
Run Code Online (Sandbox Code Playgroud)
为什么在执行函数arpan期间没有问题,即使String变量与arpan具有相同的名称.
请解释在执行程序期间如何创建变量.
package morepackage;
public class Subclass extends Superclass {
public static void main (String args[])
{
Superclass t = new Subclass();
System.out.println(t.text);//warning is generated by this line
}
}
Run Code Online (Sandbox Code Playgroud)
该超类包含一个属性文本的静态类型被初始化为字符串"arpan"
超类的代码如下:
package morepackage;
public class Superclass {
static String text = "arpan";
}
Run Code Online (Sandbox Code Playgroud)
代码不会生成编译或运行时错误但是Eclipse给予警告上
行" System.out.println(t.text); "说文本变量应该以
静态方式访问任何人都可以解释原因吗?
package generics_practice_test;
import java.util.Set;
public class Main {
public static void main (String args[])
{
Set<String> set = new Set<String>();// set object cannot be initialized
}
}
Run Code Online (Sandbox Code Playgroud)
集合对象不能被Java初始化,但是当我更换Set的HashSet,并导入java.util.HashSet和使用的代码Set<String> set = new HashSet<String>,然后代码工作.我想知道为什么.