小编And*_*yle的帖子

7
推荐指数
3
解决办法
4688
查看次数

如何操作数组.找到平均值.初学者Java

我有一个家庭作业,我想知道是否有人可以帮助我,因为我不熟悉Java和编程,而且我遇到了问题.问题是:

第一种方法查找整数数组的元素的平均值:

public double average(int[] data)
Run Code Online (Sandbox Code Playgroud)

也就是说,给定一个整数数组,数据,计算其元素的平均值是否返回平均值.例如,{1,3,2,5,8}的平均值为3.8.

这是我到目前为止所做的:

public double average(int[] data) {  
    int sum = 0;

    while(int i=0; i < data.length; i++) 

    sum = sum + data[i]; 
    double average = sum / data.length;; 

    System.out.println("Average value of array element is " " + average);
}
Run Code Online (Sandbox Code Playgroud)

在编译时,我在int i=0".class expected"部分收到错误消息.任何帮助,将不胜感激.

java arrays double average

7
推荐指数
3
解决办法
12万
查看次数

IE 302重定向无缓存标头问题

在发布信息后,将返回302重定向.此重定向旨在重新加载当前页面.

这一切都很好,但IE在标题中添加了No-Cache:

Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)

我们正在使用Squid来缓存我们的内容,并将其置于标题中绕过squid.
由于这种重定向经常被使用(没有办法解决这个问题),这大大增加了我们系统的负载.

Firefox没有这个问题,它只是请求重定向页面而不更改标题,这正是我们想要的.

有什么办法可以阻止IE添加无缓存吗?

internet-explorer redirect caching http-status-code-302

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

最好使用一对或两个列表?

我正在编写一个构成Java类公共接口一部分的方法.它广泛允许调用者指定要分配给多个数据库实体的值 - 因此它们必须提供实体本身的ID以及要分配给它们的值.

我在实现这个List<Pair<Integer, Integer>>或两个List<Integer>论点之间摇摆不定.两者都显然有效,并且在我的方法中都不会导致任何实现或效率问题.它在任何情况下(2xn数组)基本上都是相同的信息,只是条纹不同.

所以我想对你认为哪一个会更好,以及为什么会有一些意见.

到目前为止我看到的对列表的优点:

  • 更准确地反映实体之间的实际关系
  • 消除某些类型的动态错误(例如列表长度不匹配)

这对列表的优点:

  • 不依赖于任何非JDK类(简单就像Pair把握作为一个概念)
  • 不需要构造任何辅助对象来承载数据
  • 无论如何,调用者更有可能将参数放在单独的列表中,因此在调用方法之前不需要重新调整数据.

两种情况都具有相同的类型安全性,以及参数不匹配的相同可能性(例如,首先输入值,而当它应该相反时输入ID秒).后一个问题可以通过创建一个简单的包装器来避免,这个包装器Integer被称为类似的东西PrimaryKey,它有自己的优点和缺点,并且无论如何都与这个问题正交,因为这在两种情况下都可以使用.

然而,有一个中间立场可能成为第三种选择 - 一个简单的容器类,其中包含objectId和value的整数字段.这并没有使编译器帮助确保通过键入来确保对象是正确的,但它确实在赋值中提供了额外的安全层.我不认为我会这样做,因为我不喜欢用像这样的普通类来污染公共接口的想法.

java collections interface

6
推荐指数
3
解决办法
3755
查看次数

validate()树在L&F更改时抛出NullPointerException?

public class TabbedArea extends JTabbedPane {
  public void addArea(){
    add(component);
    final JPanel panel = new JPanel(new BorderLayout());
    panel.add(new JLabel(title), BorderLayout.LINE_START);
    JButton closeButton = new JButton(new CloseIcon());
    closeButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        removeArea(subAreas.get(indexOfTabComponent(panel)));
      }
    });
    panel.add(closeButton, BorderLayout.LINE_END);

    setTabComponentAt(getTabCount() - 1, panel);
  }
}

public class LnFManager {
  public void setTheme(PlasticTheme theme){
    for (Window window : Window.getWindows()) {
      if (window.isDisplayable())
        SwingUtilities.updateComponentTreeUI(window);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

调用setTheme()时,会导致重复发生(大概是每个组件):

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
 at javax.swing.plaf.basic.BasicTabbedPaneUI.scrollableTabLayoutEnabled(BasicTabbedPaneUI.java:263)
 at javax.swing.plaf.basic.BasicTabbedPaneUI.access$400(BasicTabbedPaneUI.java:54)
 at javax.swing.plaf.basic.BasicTabbedPaneUI$TabContainer.doLayout(BasicTabbedPaneUI.java:3850)
 at java.awt.Container.validateTree(Container.java:1568)
 at …
Run Code Online (Sandbox Code Playgroud)

java nullpointerexception jtabbedpane

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

使用Property文件

我正在为数据库连接创建属性文件.我已经给出了文件的路径,并且我使用该函数存储属性:

 public void setProperty(String key, String value) {
    properties.setProperty(key, value);
}
Run Code Online (Sandbox Code Playgroud)

我设置了以下属性:

"url","jdbc:mysql://localhost:3306/";"dbname","example";"user", "postgres";"Pass","123";
Run Code Online (Sandbox Code Playgroud)

我的问题是当我在另一个系统中使用我的应用程序时,这个属性文件是如何有用的(实际上我已经浏览了"java中的属性文件"教程,但我无法理解它们是如何被使用的).

在新系统中,用户名和密码会有所不同,那么这个文件怎么会有用?

java properties

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

Play Framework路由中的非捕获通配符

我正在通过Play公开HTTP API,并且为了管理兼容性破坏性更改,URL包含版本号.目前看起来如下:

GET   /api/v1/someMethod       com.foo.Api.someMethod()
Run Code Online (Sandbox Code Playgroud)

当我介绍对其中一个方法的输出进行更改时,我想支持v2.但是对于大多数方法,行为是相同的,所以我不关心使用哪个版本.我试图将上面的行修改为:

GET   /api/v:version/someMethod       com.foo.Api.someMethod()
Run Code Online (Sandbox Code Playgroud)

但Play无法编译,错误Missing parameter in call definition: version.

知道我没有在调用中使用version参数 - 因为我不需要!有没有一种合理的方法可以实现我在这里的目标,要么让Play跳过这个检查,要么在未被捕获的路径中加入通配符作为参数?

(我想如果不是我可以将参数添加到方法定义中,然后忽略它.但是如果可能的话我宁愿避免使用它.)

scala playframework-2.0

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

<String>做了什么吗?

List<String>是否有效但有效List<int>.我一直想知道这件事.

java generics primitive-types

5
推荐指数
2
解决办法
146
查看次数

如何用Java写入ssh的stdin?

在命令行上一切正常,但是当我将我想要的内容翻译成Java时,接收过程永远不会在stdin上得到任何东西.

这就是我所拥有的:

private void deployWarFile(File warFile, String instanceId) throws IOException, InterruptedException {
    Runtime runtime = Runtime.getRuntime();
    // FIXME(nyap): Use Jsch.
    Process deployWarFile = runtime.exec(new String[]{
            "ssh",
            "gateway",
            "/path/to/count-the-bytes"});

    OutputStream deployWarFileStdin = deployWarFile.getOutputStream();
    InputStream deployWarFileStdout = new BufferedInputStream(deployWarFile.getInputStream());
    InputStream warFileInputStream = new FileInputStream(warFile);

    IOUtils.copy(warFileInputStream, deployWarFileStdin);
    IOUtils.copy(deployWarFileStdout, System.out);

    warFileInputStream.close();
    deployWarFileStdout.close();
    deployWarFileStdin.close();

    int status = deployWarFile.waitFor();
    System.out.println("************ Deployed with status " + status + " file handles. ************");
}
Run Code Online (Sandbox Code Playgroud)

脚本'count-the-bytes'只是:

#!/bin/bash

echo "************ counting stdin bytes ************"
wc -c
echo "************ counted stdin …
Run Code Online (Sandbox Code Playgroud)

java ssh stdin pipe

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

Scalatest是否支持假设?

根据标题,我想知道在定义特定测试用例时是否可以向Scalatest提供"假设".在此上下文中的假设将是测试的先决条件,使得如果假设被评估为假,则将跳过测试而不是执行测试(并且由跑步者相应地处理).

在这种特殊情况下,我正在考虑测试之间的依赖关系 - 因此可能存在一个基本测试,用于验证方法是否返回任何内容,然后是后来的测试,这些测试会深入研究响应的细节.如果前一个测试失败了,我宁愿让后一个测试以某种方式标记为"不可运行",而不是让它们失败.

这就是说我可以想象将来使用它来定义一些未连接的前提条件(例如硬盘必须至少有20MB的空间空闲),所以如果有一种通用的方式在运行时跳过测试(而不是使用ignorepending)我我宁愿听到这个.

欢迎使用专门的语法,但是如果我必须手动抛出某种类型的异常也是如此.

unit-testing scala scalatest

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