小编Rom*_*man的帖子

未报告的异常java.lang.ClassNotFoundException; 必须被抓住或宣布被抛出

我有以下简单的代码:

package test;

import javax.swing.*;

class KeyEventDemo {
    static void main(String[] args) {
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
    } 
}
Run Code Online (Sandbox Code Playgroud)

它会生成以下错误消息:

KeyEventDemo.java:7: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
                            ^
1 error
Run Code Online (Sandbox Code Playgroud)

有人知道出了什么问题吗?

java exception try-catch

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

在Java中创建服务器套接字时,我可以有IO异常吗?

我有以下代码:

Socket clientSocket = null;
try {
   clientSocket = serverSocket.accept();
} catch (IOException e) {
   System.err.println("Accept failed.");
   System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)

代码取自java.sun.com.

关于上面给出的短代码,我有几个问题.

  1. 为什么我们要捕获IOException.我虽然IOException是在我们使用输入输出方法(而不是网络方法)时可能发生的事情.

  2. "System.err.println"和"System.println"有什么区别?

  3. 在catch语句中,我们有"e".做什么的?我们后者使用它吗?

java sockets try-catch ioexception println

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

那是什么语言?

好吧,我找到了一个关于如何使用Bonjour编写应用程序的很好的教程.这很酷.但唯一的问题是,我不明白他们教的是哪种语言.我甚至不确定它是一种编程语言?可能是他们写的应该在命令行输入的命令?或者这些是应该在某些GUI应用程序中执行的命令?不知何故,我找不到给出本教程的上下文.我很奇怪他们不写那是什么.

有人可以解决这个谜吗?

macos programming-languages

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

如何在HashMap的所有键上循环?

我试着用以下方式做到这一点:

public String getValue(String service, String parameter) {
    String inputKey = service + ":" + parameter;
    Set keys = name2value.keySet();
    Iterator itr = keys.iterator();
    while (itr.hasNext()) {     
        if (inputKey.equal(itr.next())) {
            return name2value.get(inputKey);
        }
        return "";
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:找不到符号method.equal(java.lang.Object).

我认为这是因为itr.next()不被视为字符串.我怎么解决这个问题?我试图取代Set keysSet<String> keys.它没有帮助.

java iterator loops hashmap

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

我可以使用JavaScript来执行与Adobe Flash相同的操作吗?

JavaScript是否能够像Flash那样做同样的事情?如果是这样的话,从Adobe Flash切换到JavaScript是否是一个好主意?

javascript flash

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

为什么containsKey没找到钥匙?

我有以下代码:

payoffs2exchanges.put(point, exchange);
if (!payoffs2exchanges.containsKey(point) ) {
   game.log.fine("yes");
} else {
   game.log.fine("no");
}
Run Code Online (Sandbox Code Playgroud)

它输出"否".换句话说,我将键值对添加到地图中,然后,在此之后我立即检查密钥是否存在并发现它不存在.为什么?

我仍然有钥匙的问题.以下代码说每次添加密钥时我都会添加一个新密钥.我知道事实并非如此.

        Integer[] point = new Integer[2];
        point[0] = proposerBestScore;
        point[1] = responderBestScore;
        game.log.fine("In the getCloudOfPayoffs: found payoffs:" + point[0] + "," + point[1] + ". Exchange: " + exchange[0]+","+exchange[1]+","+exchange[2]+","+exchange[3]+","+exchange[4]);
        // With the following block we ensure that every options (pair of payoffs) is represented by exchange with minimal number of moves.
        if (!payoffs2exchanges.containsKey(point)) {
            payoffs2exchanges.put(point, exchange); 
            game.log.fine("In the getCloudOfPayoffs: this option is new. We add it …
Run Code Online (Sandbox Code Playgroud)

java key hashmap map containskey

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

如何将SESSION变量传递到父目录中的页面?

在我的网站上,我想拥有几个子域。为给定子域创建上下文的文件存储在相应的子目录中。

有时我需要链接到不属于该子域的文件。

例如,在我的“ subdomain1.mysite.org”上,我具有“ www.mysite.org/login.php”的链接。“ login.php”存储在目录中,该目录包含与子域相对应的所有子目录。

如果我以这种方式创建指向“ www.mysite.org/login.php”的链接:href='../login.php',它将无法正常工作。因为浏览器尝试访问“ subdomain1.mysite.org/../login.php”。为了解决这个问题,我以这种方式建立了链接:href='http://www.mysite.org/login.php'但是我认为这种方式无法将我的会话变量传递给新页面(是这样吗?)。

因此,我的问题是我找不到将会话变量传递到位于父目录中的页面(或传递到另一个域上的页面)的方法。有人知道如何解决这个问题吗?

添加

按照建议,我很疲倦地使用它session_set_cookie_params来解决问题。但是我仍然无法获得预期的结果。更详细地讲,我执行以下操作:

我在使用以下代码index.php生成内容的文件中subdomain1.mysite.org

session_set_cookie_params(24*60*60,'/','.mysite.org');
session_start();
$_SESSION['page'] = $PHP_SELF;
Run Code Online (Sandbox Code Playgroud)

后来,在同一个文件中,我链接到了我的页面之一(我认为问题可能出在这里)。我通过以下方式创建链接:

href='http://www.mysite.org/login.php'
Run Code Online (Sandbox Code Playgroud)

在login.php文件中,我有以下代码:

session_set_cookie_params(24*60*60,'/','.mysite.org');
session_start();
print "a".$_SESSION['page']."b";
Run Code Online (Sandbox Code Playgroud)

结果,“ a”和“ b”之间没有任何关系。因此,我仍然无法将会话变量从一页传递到另一页。有人知道我在做什么错吗?

添加2 我必须说,如果添加以下行,我的问题就解决了: session_name("some_name");

之前

session_set_cookie_params

php subdomain session

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

如果字符串可以转换为整数,如何检入PHP?

我有以下形式的字符串:"37","42","7".

我需要将它们转换为整数.我可以用intval.但是我想检查字符串是否是预期的格式(我不是指预期的格式,例如,"abc"或"a7").我怎么能在使用之前或之后做到intval

据我所知,intval如果参数不是合适的格式,则返回1.如果是这种情况,就无法通过分析输出来检查参数是否是良好的格式intval.

php string integer

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

是否有一个简单的Python字符串解析器?

我有一个这样的字符串:'aaa(cc(kkk)c)ddd[lll]{m(aa)mm}'.从那个字符串我想得到以下结构:['aaa', '(cc(kkk)c)', 'ddd', '[lll]', '{m(aa)mm}'].换句话说,我想分开不同类型括号中的子串.

python string parsing

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

如何从C++ boost库中使用for_each?

我尝试使用C++ boost库中的for_each.这是我的代码.

#include <iostream>
#include <vector>

#include <boost/fusion/algorithm/iteration/for_each.hpp>
#include <boost/fusion/include/for_each.hpp>

using namespace std;

int main() {

        vector<int> vec;
        vec.push_back(1);
        vec.push_back(2);
        vec.push_back(3);

         boost::for_each(
                vec,
                [](int val){
                        cout << val << "\n";
                }
        );

        return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我编译代码的方式:

g++ -std=c++0x -I /opt/software/boost/1.50_ubuntu12.4lts_gcc4.7.2/include -c try_boost.cpp
g++ -o try_boost -L/opt/software/boost/1.50_ubuntu12.4lts_gcc4.7.2/lib try_boost.o -lboost
Run Code Online (Sandbox Code Playgroud)

结果我得到:

error: ‘for_each’ is not a member of ‘boost’
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么它不起作用?

c++ foreach boost compilation

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