小编Bha*_*axy的帖子

在Java中,对象变量是否包含对象的地址?

我正在和我的老师谈话,她提到一个对象变量(她的意思是一个对象的实例)不包含对象本身,而是包含内存中的地址.

我听说在Java中,对象的实例实际上包含对内存中对象的引用.我错了吗?引用与包含内存中的地址或其他内容相同吗?

java

4
推荐指数
2
解决办法
2794
查看次数

为什么JPanel背景不会改变颜色?

我正在尝试将程序的背景颜色设置为白色(而不是灰色).

我有一个包含程序的框架类(该框架类的新实例在main方法中实例化).我有以下是构造函数:

this.setBackground(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)

为了防止它被其他面板阻挡,我将相同的行添加到我程序中每个面板的构造函数中(我的意思是每个面板).

然而,什么也没发生.

可能有什么不对?

java swing colors jpanel jframe

4
推荐指数
1
解决办法
2425
查看次数

如何在C#中在运行时将控件移动到屏幕中心?

所以,我有一个不同大小的控件(它是一个标签).我希望每次更改时都会在表单中重新定位(水平居中,而不是垂直).我该如何以编程方式执行此操作?

c# winforms

4
推荐指数
1
解决办法
5904
查看次数

如何通知程序员一个null参数?

所以,我正在设计一个类,其中如果某些方法的某些参数为null,则该方法(或整个对象)将不起作用.

我知道它会NullPointerException在收到空对象并尝试使用它时抛出一个,但我希望程序员试图调用该方法来理解该错误不在我的代码中.我只想确保抛出的结果异常非常清楚(无需查看我的源代码).

我已经看到了一些我所描述的例子,IllegalArgumentException当参数为null时,它们会抛出一个.

这是区别,想象someObject将以某种方式对该方法至关重要:

public void doSomething(SomeClass someObject) {
    if (someObject == null) throw new IllegalArgumentException("someObject is null");
    ...
}
Run Code Online (Sandbox Code Playgroud)

这样,程序员就知道他或她违反了javadoc隐含的合同(无论是否明确说明).

这是好的做法,甚至是合理的事情吗?


快速编辑/侧栏:

在异常消息中最好说些什么?

是否更好地陈述"出错":

someObject为null

或者更好地说明某些事情"出错"并且通常意味着原因(最终解决方案):

someObject不能为null

还是有更好的选择吗?

java coding-style

4
推荐指数
1
解决办法
152
查看次数

如何在没有警告/错误的情况下将数组转换为ArrayList?

所以,我有点问题.我正在尝试将整数数组(被调用list)转换为ArrayList(被调用arrList).下面显示的代码工作正常:

java.util.ArrayList arrList = new java.util.ArrayList(Arrays.asList(list));
Run Code Online (Sandbox Code Playgroud)

但是,编译时会出现一个警告:上面的行报告为使用"未经检查或不安全的操作".

不幸的是,我似乎无法处理这个警告.由于这是家庭作业,因此部分标准是无警告.有没有什么办法可以将数组转换为没有警告/错误的ArrayList?

java arrays arraylist compiler-warnings

4
推荐指数
3
解决办法
4123
查看次数

Windows shell /命令提示符?

在Windows操作系统上,我们默认使用的shell /终端是命令提示符(CMD).

现在,当我使用Linux(甚至是Mac)系统时,我发现终端通常功能更全面.我使用的那个可以很容易地更改设置和属性,很容易调整大小,有些甚至有行编号和多个标签.

自从我开始编程以来,我已经意识到命令行的重要性,我想知道是否有任何替代默认的命令提示符?而且,如果没有很多好的选择,我将如何编写自己的?我需要考虑什么?

shell command-prompt

3
推荐指数
1
解决办法
9733
查看次数

变量名的声明声明要存储的值的类型?一个恶作剧?

所以,我的计算机科学课中有这个真/假的问题(我们使用的是Java):

变量名的声明声明了要存储在其中的值的类型.

(问题中"类型"一词是粗体)

现在,我知道当你声明一个变量时,你必须在Java中指定类型,因为它是静态类型的:

int x;
Run Code Online (Sandbox Code Playgroud)

在该代码中,x声明了名称为的变量,我们知道它是类型的int.

然而,问题提到了"变量名称"这个术语.从技术上讲,变量的名称/标识符不负责声明变量的类型.如果程序员选择,该名称甚至不需要提及变量的类型.

我想知道这里有正确的选择.这是真是假?对我而言似乎很模糊......我该怎么办?

java

3
推荐指数
1
解决办法
209
查看次数

在Java中剪切,复制和粘贴的最佳方法是什么?

我使用带有文本区域的Swing(JTextArea)创建了一个应用程序.我想创建一个"编辑"菜单,其中包含从文本区域剪切和复制文本的选项,以及将剪贴板中的文本粘贴到文本区域.

我已经看到了几种方法,但我想知道最好的方法是什么.我该如何实现剪切/复制/粘贴?

java swing copy-paste awt

3
推荐指数
2
解决办法
1万
查看次数

使用toCharArray时,这里不允许使用Void类型?

此代码用于比较两个字符串中的字符,看它们是否相同.它通过获取字符串,将它们转换为char数组,对它们进行排序,然后比较它们来实现.

private boolean sameChars(String firstStr, String secondStr)
{
    return Arrays.equals(Arrays.sort(firstStr.toCharArray()), Arrays.sort(secondStr.toCharArray()));
}
Run Code Online (Sandbox Code Playgroud)

当我编译这段代码时,它突出显示(firstStr.toCharArray())并说'void' type not allowed here.导致错误的原因是什么,我将如何解决?

java arrays string char void

2
推荐指数
1
解决办法
1034
查看次数

如何使用GridBagConstraints创建布局?

我想像我这样布局我的JPane:

-------
|     |
|     |
|     |
-------
|     |
-------
Run Code Online (Sandbox Code Playgroud)

这样,顶部比底部更大/更高(顶部由另一个JPanel组成并使用Graphics对象显示图像,而底部也包含另一个JPanel但使用Graphics对象绘制一些线条和文字).

我听说最好的方法是使用GridBagLayout和GridBagConstraints.

我试图找出GridBagConstraints的适当属性,我遇到了一些困难.这就是我到目前为止......

对于顶部,我有:

gridx = 0
gridy = 0
weighty = 1.0; // expand downwards, because the bottom should never expand in the Y direction
fill = GridBagConstraints.BOTH
Run Code Online (Sandbox Code Playgroud)

对于底部,我有:

gridx = 0
gridy = 1
fill = GridBagConstraints.HORIZONTAL
anchor = GridBagConstraints.PAGE_END
Run Code Online (Sandbox Code Playgroud)

不幸的是,所有最终结果都出现了一个大的灰色矩形(我有一个白色背景的应用程序) - 没有图像加载,没有行/文本出现.

我该怎么办?我应该调整什么?

我已经阅读了一些教程,但它看起来真的很混乱,我在第一个应用程序中使用它,但现在当我尝试这样做时它似乎对我不起作用.

java swing gridbaglayout

2
推荐指数
1
解决办法
1万
查看次数

使用Python检查网页上是否有某些单词?

我有一个单词列表,在Python中我需要遍历每个单词并检查单词是否在网站上.

目前,这是我所拥有的(与此问题有关)的片段:

words = ['word', 'word1', 'word2']
site = urllib.request.urlopen(link)
for word in words:
    if word in site:
       print(word)
    else:
       print(word, "not found")
Run Code Online (Sandbox Code Playgroud)

我有一个单词列表,我打开网站,然后我遍历每个单词检查站点中的单词.请注意,我正在使用一个网站,其中包含所有这些单词(我自己设置,我可以验证它是否有效),链接是网站的网址.

问题是,我经常去" 未发现",它似乎永远不会在网站上找到的话.

代码有什么问题?这似乎是一个语义错误,因为语法工作正常,并且没有抛出异常(虽然在我的最后我确实有异常处理,但它仍会报告是否抛出异常).

python web

1
推荐指数
1
解决办法
9094
查看次数

使用Python创建单位圆计算器?

作为一个年轻的程序员,我总是试图寻找我的技能的应用程序.

无论如何,我现在正在接受trig并且我们正在研究单位圆,从度数转换为坐标的公式是(sinθ,cosθ)(据我所知).

但是,我遇到的困难是我需要将值保持为分数.

基本上,我计划的算法是:

i = 0
while i < 360:
    print(i, "=", calc(i))
    i += 15
Run Code Online (Sandbox Code Playgroud)

现在,calc可以给出任何名称,并且将是一个函数,它返回x和y的坐标(可能是一个元组)给定x =sinθ和y =cosθ.

我遇到的问题是Python中的sin会返回介于-1和1之间的浮点,但是,我需要找到一种方法让它返回一个分数.例如,在该图中 ,坐标是有理数.

我该怎么办?我应该编写自己的正弦函数和余弦函数吗?如果是,我应该怎么做?

python math trigonometry symbolic-math fractions

1
推荐指数
1
解决办法
2322
查看次数

如何找到与给定输入最接近的 2^N 值?

我必须以某种方式保持程序运行,直到指数函数的输出超过输入值,然后将其与指数函数的先前输出进行比较。即使只是伪代码,我将如何做这样的事情?

java algorithm exponent

1
推荐指数
1
解决办法
2480
查看次数