小编Ric*_*ton的帖子

Java HTML解析

我正在开发一个从网站上删除数据的应用程序,我想知道如何获取数据.具体来说,我需要包含在许多使用特定CSS类的div标签中的数据 - 目前(用于测试目的)我只是在检查

div class = "classname"
Run Code Online (Sandbox Code Playgroud)

在HTML的每一行 - 这是有效的,但我不禁觉得那里有更好的解决方案.

有没有什么好方法我可以给一个类一行HTML并有一些很好的方法,如:

boolean usesClass(String CSSClassname);
String getText();
String getLink();
Run Code Online (Sandbox Code Playgroud)

html java parsing web-scraping

52
推荐指数
7
解决办法
11万
查看次数

抽象类构造函数访问修饰符

抽象类只能用作由其他类扩展的基类,对吧?抽象类的构造函数可以具有通常的访问修饰符(public,protected和private(供内部使用)).使用哪个protected和哪个public正确的访问修饰符,因为抽象类型似乎表明技术上公共构造函数将受到很大程度的保护?我应该在所有构造函数上使用protected吗?

java

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

C#事件处理(与Java相比)

我目前正在使用delagates在C#中很难理解和实现事件.我习惯了Java的做事方式:

  1. 为侦听器类型定义一个接口,该接口包含许多方法定义
  2. 如果我对侦听器中定义的所有事件不感兴趣,请为该接口定义适配器类以使事情更容易
  3. 在类中定义Add,Remove和Get []方法以引发事件
  4. 定义受保护的fire方法来执行循环遍历添加的侦听器列表并调用正确方法的脏工作

这个我理解(并且喜欢!) - 我知道我可以在c#中完全相同,但似乎有一个新的(更好的?)系统用于c#.在阅读了无数教程解释c#中代表和事件的使用后,我仍然无法真正了解正在发生的事情:S


简而言之,对于以下方法,我将如何在c#中实现事件系统:

void computerStarted(Computer computer);
void computerStopped(Computer computer);
void computerReset(Computer computer);
void computerError(Computer computer, Exception error);
Run Code Online (Sandbox Code Playgroud)

^上面的方法取自我曾经制作的Java应用程序,我试图将其移植到c#.

非常感谢!

c# delegates event-handling

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

C#.NET 3.5 GUI设计

我正在寻找一些C#GUI设计的编程指南.我来自Java阵营(我可以愉快地手工编写Swing/AWT GUI),因此没有线索从哪里开始:(

另外,Windows Presentation Foundation和WinForms之间有什么区别(如果有的话)?

.net c# wpf user-interface winforms

9
推荐指数
4
解决办法
8857
查看次数

匹配失败的匹配字符串中的正则表达式索引

我想知道是否有可能在尝试匹配时正则表达式中提取正则表达式失败的给定字符串中的索引位置?

例如,如果我的正则表达式是"abc"并且我试图将其与"abd"匹配,则匹配将在索引2处失败.

编辑以澄清.我需要这个的原因是允许我简化我的应用程序的解析组件.该应用程序是一个Assmebly语言教学工具,允许学生编写,编译和执行程序集程序.

目前我有一个tokenizer类,它使用regex将输入字符串转换为Tokens.这非常有效.例如:

给定以下input ="INP:x:"时,tokenizer将生成以下标记
:

Token.OPCODE, Token.WHITESPACE, Token.LABEL, Token.EOL
Run Code Online (Sandbox Code Playgroud)

然后分析这些标记以确保它们符合给定语句的语法.目前,这是使用IF语句完成的,并且证明是麻烦的.这种方法的好处是我可以提供详细的错误消息.IE

if(token[2] != Token.LABEL) { throw new SyntaxError("Expected label");}
Run Code Online (Sandbox Code Playgroud)

我想使用正则表达式来定义语法而不是烦人的IF语句.但在这样做时,我失去了返回详细错误报告的能力.因此,我至少想告知用户发生错误的WHERE.

c# regex

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

为什么在Linux中使用Mono时我找不到System.Text.RegularExpressions?

我正在尝试使用Mono和Monodevelop(IDE)来编写Ubuntu中的C#项目.

除了找不到System.Text.RegularExpressions(Package?)之外,一切都在起作用.我在互联网上找到的唯一相关的东西就在这里

似乎已经发布了各种解决方案,但我不明白.请帮忙 :)

c# ubuntu mono monodevelop

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

如何编写MXML以将侦听器附加到自定义ActionScript类

例如,以下MXML脚本将侦听器附加到Button类:

<mx:Button id="STACK" label="OVERFLOW" click="doStuff()"/>
Run Code Online (Sandbox Code Playgroud)

我有一个自定义动作脚本类,当值更新并且我希望能够在MXML类中侦听该事件时触发事件:

ActionScript类:

public function set currentPage(newCurrentPage: Number) : void {
    _currentPage = newCurrentPage;

    dispatchEvent(new DataEvent(PAGE_CHANGED, true, false, _currentPage));
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在MXML中执行以下操作:

<myClass:Class <...> pageChanged="doMoreStuff()" />
Run Code Online (Sandbox Code Playgroud)

我该怎么做?干杯:)

apache-flex actionscript event-handling

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

将 Antlr 语法树转换为有用的对象

我目前正在考虑如何最好地获取使用 Antlr 生成的 AST 并将其转换为我可以在我的程序中使用的有用对象。

我的语法(除了学习)的目的是创建一种可执行(运行时解释)语言。

例如,我将如何获取属性子树并实例化特定的 Attribute 类。例如

以下代码以我的语言显示:

Print(message:"Hello stackoverflow")
Run Code Online (Sandbox Code Playgroud)

将产生以下 AST:

替代文字

我目前的想法是工厂类可以读取树,提取名称(message)和类型(STRING)值(“ Hello stackoverflow”)。现在,知道了类型,我可以实例化正确的类(例如 StringAttribute 类)并传入所需的属性数据 -namevalue.

相同的方法可用于定义工厂,提取定义名称 ( Print),实例化 Print 类,然后传入从属性工厂生成的属性。

使用更复杂的程序,事情确实变得更复杂了:

Program(args:[1,2,3,4,5])
{
    If(isTrue:IsInArray(array:{Program.args} value:5))
    {
        Then {
            Print(message:"5 is in the array")
        } Else {
            Print(message:"More complex " + "message")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

替代文字

非常欢迎任何/所有帮助或想法。非常感谢。

我以前的相关问题(可能有用):

  1. 我如何制作树解析器
  2. 解决LL递归问题
  3. Antrl3 条件树重写

java antlr execution abstract-syntax-tree

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

如何在ANTLR3中创建TreeParser?

我正在尝试学习语言解析以获得乐趣......

我创建了一个ANTLR语法,我相信它与我希望实现的简单语言相匹配.它将具有以下语法:

<FunctionName> ( <OptionalArguments>+) {
     <OptionalChildFunctions>+
 }
Run Code Online (Sandbox Code Playgroud)

实际例子:

ForEach(in:[1,2,3,4,5] as:"nextNumber") {
   Print(message:{nextNumber})
}
Run Code Online (Sandbox Code Playgroud)

我相信我的语法正确地匹配这个结构,现在我正在尝试为该语言构建一个抽象语法树.

首先,我必须承认我不完全确定这棵树应该看起来如何.其次,我完全失去了如何在我的Antlr语法中做到这一点......我几个小时都没有取得太大的成功.

这是我正在寻找树的当前想法:

                   FunctionName
                  /          \
           Attributes         \
               / \          /  \ 
            ID    /\    ChildFunctions
           / \   ID etc
          /   \
  Attribute  AttributeValue
        Type
Run Code Online (Sandbox Code Playgroud)

这是我目前的Antlr语法文件:

grammar Test;

options {output=AST;ASTLabelType=CommonTree;}

program : function ;
function : ID (OPEN_BRACKET (attribute (COMMA? attribute)*)? CLOSE_BRACKET)? (OPEN_BRACE function* CLOSE_BRACE)?;

attribute : ID COLON datatype;

datatype : NUMBER | STRING | BOOLEAN | array | lookup ;
array  :  OPEN_BOX (datatype (COMMA …
Run Code Online (Sandbox Code Playgroud)

antlr antlr3

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

欧拉项目帮助(问题12) - 主要因素等

我讨厌不得不问,但我已经被困在这里了.

我需要测试一系列数字来找到第一个有超过500个因子的数字:http: //projecteuler.net/index.php?section = problem&id = 12

- 首先我试图强行回答(在很长一段时间后找到一个480的数字)

- 我现在正在考虑确定数字的素因子,然后用它们来找出所有其他因素.

我目前处于可以获得任何数字输入的一系列素数因子的阶段 - 即300具有素因子2 2 3 5 5

使用这个素数因子我需要能够计算剩余因子 - 这是我坚持的部分.基本上,据我所知,我需要计算数组中所有可能的数字组合......

即2*2
2*2*3
2*2*3*5
2*3
2*3*3
......等等 - 但有趣的地方是......
2*5
2*3*5
...即阵列中彼此不相邻的数字

对于任何长度数组,我都想不出以通用的方式编写代码的方法......

我需要帮助!PS - 我在Java工作

编辑:我的强力代码 - 因为它已被建议暴力强迫问题将工作,所以我的代码可能有一个错误:(

package euler.problem12;

public class Solution {

    public static void main(String[] args) {
        int next = 1;
        int triangle = 0;
        int maxFactors = 0;

        while(true) {
            triangle = triangle + next;

            int factors = 1;
            int max = (int) …
Run Code Online (Sandbox Code Playgroud)

java

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

C树XML序列化

我正在尝试递归循环遍历树结构并使用(语言)C将其序列化为字符串.当谈到C(来自Java,C#,动作脚本背景)时,我是一个真正的新手.一般来说,我很难掌握一些东西.

我应该使用库来帮助生成XML吗?如何使用C实现递归?

谢谢

c xml recursion serialization

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