问题列表 - 第24956页

在Comparable <Type>类中实现compareTo时,特定的有符号整数是否重要?

在实现compareTo()时,是否需要考虑"差异"的程度?

例如,如果我有3个对象,C1,C2和C3,那么C1 <C2 <C3.

C1.compareTo(C2)应该返回一个小于C2.compareTo(C3)的整数吗?

Comparable接口的文档似乎没有指定这种或那种方式,所以我猜测程度并不重要,但是知道返回特定数字是否有一些优势会很好(例如,改进TreeSet排序速度或其他东西).

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html#compareTo(T)

java compareto comparable

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

需要确保值在0-255之内

这可能很容易,但我迷失了如何"确定"它在这个范围内..

所以基本上我们有class Color很多功能可以从中实现.

我需要的这个功能是:

效果:将颜色值更正为0-255(含).如果值超出此范围,则调整为0或255,以较近者为准.

这是我到目前为止:

static int correctValue(int value)
{
    if(value<0)
        value=0;
    if(value>255)
        value=255;
}
Run Code Online (Sandbox Code Playgroud)

对不起这么简单的问题; /

c++

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

在Cocoa中生成一个随机的字母数字字符串

我想调用一个方法,传递它的长度并让它生成一个随机的字母数字字符串.

是否有任何实用程序库可能有一堆这些类型的函数?

string random cocoa alphanumeric objective-c

141
推荐指数
8
解决办法
9万
查看次数

如何使用Java读取Java文件结构?

我正在尝试读取一个java文件,并在控制台中显示包,类和方法名称.这样的事情:

文件:Test.java

package tspec.test;

public class Test {
   public void addTest () {}
   public void deleteTest () {}
}
Run Code Online (Sandbox Code Playgroud)

输出:

package name: tspec.test
class name: Test
method name:
addTest
deleteTest
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

java file

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

java try块应该尽可能紧密地限定范围吗?

我被告知使用Java try-catch机制会有一些开销.因此,虽然有必要在try块中放置抛出checked异常的方法来处理可能的异常,但是在性能方面优化的做法是限制try块的大小以仅包含那些可能抛出异常的操作.

我不太确定这是一个明智的结论.

考虑以下两个实现处理指定文本文件的实现.

即使第一个产生一些不必要的开销是正确的,我发现它更容易遵循.通过查看语句来确定异常的确切位置尚不清楚,但评论清楚地表明哪些陈述是负责任的.

第二个比第一个更长更复杂.特别是,第一个很好的读行成语必须被修改以使readLine调用适合try块.

在函数中处理异常的最佳实践是什么?在定义中可能抛出多个异常?

这个包含try块中的所有处理代码:

void processFile(File f)
{
  try
  {
    // construction of FileReader can throw FileNotFoundException
    BufferedReader in = new BufferedReader(new FileReader(f));

    // call of readLine can throw IOException
    String line;
    while ((line = in.readLine()) != null)
    {
      process(line);
    }
  }
  catch (FileNotFoundException ex)
  {
    handle(ex);
  }
  catch (IOException ex)
  {
    handle(ex);
  }
}
Run Code Online (Sandbox Code Playgroud)

这个只包含在try块中抛出异常的方法:

void processFile(File f)
{
  FileReader reader;
  try
  {
    reader = new FileReader(f);
  }
  catch (FileNotFoundException ex)
  {
    handle(ex); …
Run Code Online (Sandbox Code Playgroud)

java readability exception-handling

40
推荐指数
2
解决办法
7011
查看次数

动态编程 - 硬币更改决策

我正在审查算法课程中的一些旧笔记,动态编程问题对我来说似乎有点棘手.我有一个问题,我们有无限量的硬币,有一些面额x1,x2,... xn我们想要改变一些价值X.我们正在设计一个动态程序来决定是否可以改变X是否制造(不是最小化硬币数量,或返回哪些硬币,只是真或假).

我已经做了一些关于这个问题的思考,我可以看到这样做的递归方法,就像它...

MakeChange(X, x[1..n this is the coins])
    for (int i = 1; i < n; i++)
    {
        if ( (X - x[i] ==0) || MakeChange(X - x[i]) )
            return true;
    }
    return false;
Run Code Online (Sandbox Code Playgroud)

转换这个动态程序对我来说并不容易.我怎么能接近这个?

algorithm computer-science dynamic-programming

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

与测试代码相比,单元测试的典型大小

我很好奇当人们进行TDD时,测试代码与生产代码的比率是多少合理/典型值.看一个组件,我有530行测试代码,用于130行生产代码.另一个组件有360行测试代码,用于360行生产代码.因此,单元测试需要大约3倍到5倍的代码.这是针对Javascript代码的.我没有太多经过测试的C#代码,但我认为对于另一个项目,我看的是测试代码的2倍到3倍,然后是生产代码.

在我看来,假设测试足够,该值越低,就会反映出更高质量的测试.纯粹的猜测,我只是想知道其他人看到的比例.

我知道代码行是一个松散的度量标准,但由于我为测试和生产编写了相同的样式(相同的间距格式,相同的注释等),因此值是可比较的.

tdd unit-testing

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

将RPG与C#和SQL进行比较

在RPG程序(AS/400上的IBM语言之一)中,我可以"链接"到文件中以查看文件中是否存在记录(例如,某个客户记录).如果是,那么我可以使用新数据立即更新该记录.如果记录不存在,我可以写一条新记录.代码如下所示:

Customer  Chain CustFile   71 ;turn on indicator 71 if not found
          if    *in71         ;if 71 is "on"
          eval  CustID = Customer;
          eval  CustCredit = 10000;
          write CustRecord
          else                ;71 not on, record found.
          CustCredit = 10000;
          update CustRecord
          endif
Run Code Online (Sandbox Code Playgroud)

我不熟悉SQL/C#,我想知道是否有办法从文件中进行随机检索(这就是RPG中的"链").基本上我想看看是否存在记录.如果是,请使用一些新信息更新记录.如果没有,那么我想写一个新的记录.我确信这是可能的,但不太确定如何去做.任何建议将不胜感激.

c# sql rpgle ibm-midrange

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

在C文件处理中的feof()

我正在逐字节读取二进制文件,我需要确定是否已达到eof.

feof()不起作用"只有在对不存在的字节进行读取请求时才设置eof".所以,我可以使用我的自定义check_eof:

if ( fread(&byte,sizeof(byte),1,fp) != 1) {
    if(feof(fp))
    return true;
}
return false;
Run Code Online (Sandbox Code Playgroud)

但问题是,如果没有达到eof,我的文件指针会向前移动一个字节.因此,解决方案可能是使用ftell()然后fseek()将其置于正确的位置.

另一种解决方案可能是在一些临时存储中缓冲前面的字节.

更好的解决方案?

c file-handling feof

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

比较ArrayList问题中的新整数对象

我存储的Integer对象表示我想要跟踪的对象的索引.稍后在我的代码中,我想检查特定对象的索引是否对应于我之前存储的那些整数之一.我这样做是通过创建一个ArrayList并从for循环的索引创建一个新的Integer:

ArrayList<Integer> courseselectItems = new ArrayList();

//Find the course elements that are within a courseselect element and add their indicies to the ArrayList
for(int i=0; i<numberElementsInNodeList; i++) {
    if (nodeList.item(i).getParentNode().getNodeName().equals("courseselect")) {
        courseselectItems.add(new Integer(i));
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我想稍后检查ArrayList是否包含特定索引:

//Cycle through the namedNodeMap array to find each of the course codes
for(int i=0; i<numberElementsInNodeList; i++) {
    if(!courseselectItems.contains(new Integer(i))) {
        //Do Stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我使用new Integer(i)will 创建一个新的Integer时,我可以使用比较整数ArrayList.contains()吗?也就是说,当我使用创建新对象时new Integer(i),如果用于创建它们的int值相同,那么它是否与先前创建的Integer对象相同?

我希望我没有把它弄得太清楚.谢谢您的帮助!

java integer arraylist

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