问题标签 [fencepost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
406 浏览

c - 为什么我的作业有逻辑错误?

我是 IT 专业的大三学生。我面临程序输出的问题。该程序的想法是我应该使用函数来读取 10 个元素的数组,然后获取元素的平均值,然后获取最大值和最小值。我有正确的最大值和最小值,但平均值显示奇怪的东西。请检查代码并告诉我应该做什么或以某种方式帮助我。

输出是(请注意,它请求的是 11 个数字而不是 10,如果我更改循环参数以让它只占用 10 个,那么它会显示奇怪的东西

提前谢谢

0 投票
31 回答
275791 浏览

for-loop - 检测“for”循环中最后一个元素的pythonic方法是什么?

我想知道对 for 循环中的最后一个元素进行特殊处理的最佳方式(更紧凑和“pythonic”方式)。有一段代码应该只元素之间调用,在最后一个被禁止。

这是我目前的做法:

有没有更好的办法?

注意:我不想使用诸如使用reduce.;)

0 投票
5 回答
168 浏览

c++ - 这段代码怎么能像我看到的那样表现?

我有一个 C++ 应用程序,它有一次无法重现的断言失败。这是一次失败的代码:

不知何故,循环完成后 theLastCount 不为零。

从我对逻辑的阅读来看,这应该是不可能的,除非:

  1. 其他一些线程影响了actionQueue(我认为这是不可能的)。
  2. 发生了一些短暂的内存损坏。

我在这里错过了什么愚蠢的东西,我的代码中是否有错误?请注意,在我看到这一点的情况下, theLastCount 应该已初始化为 1,因为该向量有两个元素。

0 投票
1 回答
314 浏览

c++ - 使用 snprintf() 的 Fencepost 条件和可移植性?

给定以下代码:

这是便携式的,如果是的话,我是否得到了所有的栅栏条件正确?

1 传递size给 snprintf()

2 检查res大于或等于size

0 投票
4 回答
3987 浏览

java - Fencepost 问题的优雅解决方案(使用字符串)

我指的是将Strings 与中间的某个连接起来String,例如连接用句点分隔的句子,或者用逗号连接参数列表。我知道您可以使用库,但有时这些库无法满足您的需求,例如当您想要生成要连接的短语时。到目前为止,我提出了两个解决方案,

它遭受 的冗余重新分配period。还有

这消除了重新分配,但看起来仍然没有吸引力。非常感谢任何其他解决方案。

0 投票
2 回答
2262 浏览

java - For 或 While 循环跳过输入

可能重复:
在 nextInt 之后使用 nextLine 时的扫描仪问题

我正在创建一个需要从我的服务器读取字符串和整数的客户端程序。根据接收到的整数,它会向 GUI 添加一些标签。到目前为止,我的程序读取了整数但跳过了字符串。当我尝试将整数写入程序时,以下输出是我的程序的输出:

  • 服务器写入:1
  • 服务器写入:1
  • 系统打印:1
  • 系统打印:j1
  • 系统打印:名称

问题是我无法编写字符串,因为它跳过了字符串。我怎样才能避免这个问题(注意我也尝试了一个for循环)

我的代码如下:

createUser 方法:

client.reciveCommando 方法:

client.reciveString 方法:

希望有人能够帮助我:)

先感谢您。

0 投票
1 回答
125 浏览

wpf - 在 WPF ItemsControl 中绕过栅栏原则

我有一个 ItemsControl,DataTemplate其中包含一个Margin值,0,0,0,20用于在每个项目之间添加 20 像素的间隙。问题是,当此控件滚动时,由于此边距应用于最终项目,最终项目后有 20px 的空闲。

我如何在最后删除/剪掉这个间隙,或者确保它不是首先添加的?即,在项目之间应用 20px 的间隙,但不在列表的开头或结尾?

0 投票
2 回答
659 浏览

java - 多项式的 toString 方法

这是一个 toString 方法,用于格式化多项式的项并将它们添加到字符串中。它的最终输出类似于“+ 2x^2 + 2x + 1” 我将如何删除第一个加号?谢谢

0 投票
1 回答
74 浏览

java - 即使调试器显示测试为真,最终循环也不会迭代

这个类中的最后一个 for 循环是罪魁祸首。我将模式字写入新创建的数组的位置。即使 eclipse 调试器显示值 i 小于 (tokens.length-2),for 循环也不会最后一次迭代。也许这是一个围栏问题,但我尝试了一个 do while 循环和一堆东西。此外,我已经发布了客户端代码和我正在使用的 txt 文件。

以下是我的客户端代码:

以下是我的txt文件的内容:

我得到输出:

很明显,据我所知,我没有向返回的字符串数组中的最后一个索引写入任何内容,因为最终的 for 循环没有最后一次迭代。我班上的部分评论为://将模式字写入数组。

任何帮助或建议都是天赐之物。干杯!

0 投票
2 回答
1058 浏览

java - 介绍 Java Fencepost/While 循环条件测试

我整晚都在试图回答这个问题,但我认为我的大脑在期中考试中太煎熬了,无法正确回答。所以问题正是[引用]:编写一个方法 highLow,它接受一个整数作为参数并返回该数字是否具有交替的“高”和“低”数字。0 到 4 是“低”位,5 到 9 是“高”位。如果传递的数字在“高”和“低”数字之间交替,您的方法应该返回 true,否则返回 false。您可以假设传递的数字是正数。如果传递的数字由单个数字组成,则您的方法应返回 true。

注意:如果数字交替以“高”数字开头或以“低”数字开头,则该方法返回 true。重要的是数字交替。例如,highLow(9292) 和 highLow(2929) 都应该返回 true。

以下是对该方法的一些示例调用及其结果返回值:

返回值 highLow(1918193) true highLow(7283) true highLow(3827) true highLow(9388) false highLow(895151) false highLow(707) true highLow(44) false highLow(45) true highLow(5) true 您可以不使用字符串来解决这个问题

这是我最近的尝试:

我知道这是一个围栏式的问题,但我似乎可以解决它。任何帮助表示赞赏。