我正在为我的学士论文设计一个程序,根据z位置(电缆中的位置)显示钢丝绳的内部几何形状.
为了测试我"穿过"一段电缆,用这段代码(sl是一个链表,已经初始化,工作正常):
Cable c = new Cable(sl);
ImageFrame ts = new ImageFrame(c);
try {
while (location <2 ) {
location = location + 0.01;
Thread.sleep(100);
c.update(location);
ts.repaint();
}
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
电缆功能update应该重新计算电缆的几何形状.我的类电缆有一个绞线列表,这个update函数的作用就是调用所有这些绞线的更新函数:
public void update(double z) {
for(int i=0;i<strandList.size() ;i++) {
strandList.get(i).updateStrand(z);
}
}
Run Code Online (Sandbox Code Playgroud)
该对象Strand如下所示:
public abstract class Strand {
Punt middenCable;
final Punt nulpoint_midden;
Punt midden;
Double angle;
Double d_to_core;
Image img;
int img_size;
BufferedImage bf; …Run Code Online (Sandbox Code Playgroud) 如何在一定范围内打印最后一个值?
def main():
print "This program calculates the future value of a 10-year investment."
principal = input("Enter the initial principle: ")
apr = input("Enter the annual interest rate: ")
for i in range(10):
principal = principal * (1 + apr)
print "The value in 10 years is:", principal
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
The value in 10 years is XXXXXXX
The value in 10 years is XXXXXXX
The value in 10 years is XXXXXXX
The value in 10 years is XXXXXXX
The value in …Run Code Online (Sandbox Code Playgroud) 我想给enum分配一个枚举值
枚举1
public enum e1{
value1,
value2;
}
Run Code Online (Sandbox Code Playgroud)
枚举2
public enum e2{
val1 ( some value from e1 ),
val2 ( some value from e1 );
}
Run Code Online (Sandbox Code Playgroud)
我也应该能够val1根据条件改变以后的值.
这怎么可能在Java?
我有两个课程:Child和Parent。Child延伸Parent。我创建了一个Child对象并设置了所有参数,Child即 的参数以及 的参数Parent。
现在在运行时我想要一个Parent仅具有Parent类属性的对象。示例类是
public class Parent {
private String lastName;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
return "Parent [lastName=" + lastName + "]";
}
}
public class Child extends Parent{
private String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName …Run Code Online (Sandbox Code Playgroud) 由于字符串在 Java 中是不可变的,这会创建 3 个对象,还是在内部仅创建一个对象。
在 JVM 中执行将如何发生,它是否取决于 JVM 实现?
class Main{
public static void main(String[] args) throws Exception{
String s = "FirstString" + "SecondString" + "ThirdString";
}
}
Run Code Online (Sandbox Code Playgroud)
如果上面的情况在编译时解决了下面的情况如何工作。
class Main{
public static void main(String[] args) throws Exception{
String s = "FirstString" + "SecondString" + args[0];
}
}
Run Code Online (Sandbox Code Playgroud) 我知道在这篇文章中已经回答了一个类似的问题。但是,我仍然对 java 是否有保留循环问题感到困惑,因为 java 也有 WeakReference 类。那么,它们的目的是否相同?他们两个有什么区别?
我知道反射是一种在不知道具体类型的情况下调用方法或操作字节码的技术。
最近在研究类加载器的时候,看到一篇文章,说反射是让类加载器动态加载类,做类型检查。这是真的?
原文不是英文,所以翻译可能有点奇怪。
Java 动态加载类。也就是说,所有代码都在运行时链接到 JVM。每个类都动态链接到 JVM 并在引用该类时加载到内存中。Java 的运行时库(【JDK 安装目录】/jre/lib/rt.jar)也不例外。这种动态的类加载是通过Java的类加载器系统完成的,Java提供的类加载器通过java.lang.ClassLoader来表示。当 JVM 启动时,它会创建一个引导类加载器,然后将第一个类 Object 读入系统。
在运行时动态加载一个类意味着 JVM 没有关于该类的信息。换句话说,JVM 不知道有关方法、字段和类的继承关系的信息。因此,类加载器应该能够在加载类时获取必要的信息并检查类是否正确。如果您不能这样做,则 JVM 可能具有不匹配的 .class 文件版本,并且将无法进行类型检查。JVM 具有内部分析类的能力,从 JDK 1.1 开始,开发人员可以通过反射来分析这些类。
我对Java中对象的哈希码方法的理解是:需要计算对象的哈希码,该哈希码又用于计算对象在哈希数据结构(如hashMap)中的索引/存储桶位置。
那么,对于不与哈希数据结构一起使用的类,不需要在其中实现 hashCode() 方法,这样说是否正确?换句话说,对于非哈希数据结构来说,重写 equals() 方法是否足够?
如果我的假设是错误的,也请纠正我。
我有一个用 Unicode 表示表情符号的字符串,如下所示:
“你好U+1F601”
我想把它转换成:
“你好 ”
我尝试使用该parseInt()方法解码它们并将其转换为char,但我不断得到像这样的黑白字形 - 。
有什么指示我怎样才能用Java达到预期的结果吗?
PS:unescapeJava()这个方法在这里不起作用。我已经尝试过,也尝试过其他类似线程的其他答案。
在C#中,通常有这样的方法:
public IPerson GetPerson()
{
// do stuff
return new Person(..);
}
Run Code Online (Sandbox Code Playgroud)
其中," IPerson"是用于通过一个接口Person,SpecialPerson等等.在换句话说,尽管上面的方法返回Person,一个策略模式可以被实现为使得一个SpecialPerson被代替返回的Person,条件是它们都使用IPerson的接口.
这种事情在Java中是否可行?