小编joh*_*902的帖子

Java计算器将数字添加到文本字段

我正在制作一个计算器来测试我的java技能.如何在jTextfield中显示数字,直到我按下一个按钮来计算数字; 我希望每个数字都显示在文本字段中.例如,如果我按1和零,我希望文本字段有10.

int num;
JTextField in = new JTextField(20); // input field where numbers will up;

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == bouttons.get(0)) {
        num = 0;
        in.setText("" + num);
    }
    if (e.getSource() == bouttons.get(1)) {
        int num = 1;
        in.setText("" + num);
    }
}
Run Code Online (Sandbox Code Playgroud)

截图

java calculator button textfield

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

用户'root'@'localhost'拒绝访问(使用密码:YES)

我想连接我的本地MYSQL数据库,它与XAMP服务器一起安装.我创建了一个新用户,即"NewUser",其密码为"password".我给了这个用户所有的特权.

我使用用户"root"编写了与数据库连接的代码(此用户没有密码).它的连接.像吼叫..

return DriverManager.getConnection("jdbc:MySql://localhost/database_name","root","");
Run Code Online (Sandbox Code Playgroud)

现在我编写了代码,用另一个用户连接相同的数据库,即"NewUser"及其密码"password"

return DriverManager.getConnection("jdbc:MySql://localhost/database_name","NewUser","password");
Run Code Online (Sandbox Code Playgroud)

但它没有联系.控制台中的错误是

java.sql.SQLException: Access denied for user 'NewUser'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.GeneratedConstructorAccessor207.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:214)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:73)
    at org.eclipse.datatools.enablement.internal.mysql.connection.JDBCMySQLConnectionFactory.createConnection(JDBCMySQLConnectionFactory.java:28)
    at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
    at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
    at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
    at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Run Code Online (Sandbox Code Playgroud)

我在向这个用户提供PRIVILEGES时给出主机类型,称为"任何主机",即"%".

如果我将其更改为"localhost"或"127.0.0.1",则其工作正常.

那么如何将我的数据库与"anyhost"特权用户一起使用,如"NewUser".

如果我在这里取得成功,那么我就成功地与客户实时数据库相关联.

谢谢大家,请让我从这一个......

java mysql jdbc mysql-connector

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

使用std :: hexfloat进行读写

这段代码印0在我的机器上,但我预料到了0.3.怎么了?我在最新的Arch Linux上使用g ++ 6.3.1.编译标志似乎无关紧要.

#include <iostream>
#include <sstream>
int main() {
    std::stringstream s;
    s << std::hexfloat << 0.3 << std::endl;
    double d = -1.0;
    while(s >> std::hexfloat >> d)
        std::cout << d << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ floating-point iostream iomanip

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

在java中将Object []转换为double []

这可能吗?我一直在努力解决这个问题.我最初是Long []先铸造然后转换为double []让我编译但是然后给了我一个错误的铸造.我现在卡住了.

在这段代码中,我正在迭代我的hashmap中的条目.

 Object[] v = null;
 for(Map.Entry<String,NumberHolder> entry : entries)
 {
       v = entry.getValue().singleValues.toArray(); //need to get this into double []
 }
Run Code Online (Sandbox Code Playgroud)

这是我的numberHolder类

private static class NumberHolder
{
    public int occurrences = 0;
    public ArrayList<Long> singleValues = new ArrayList<Long>();
}
Run Code Online (Sandbox Code Playgroud)

java arrays double object

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

"(f(x))+ g(y)"能否确保在C++中首先调用f(x)?

并且f(x)+(g(y))可以确保g(y)先打电话吗?我知道表达式中的顺序在很多情况下是未定义的,但在这种情况下括号是否有效?

c++ sequence-points

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

任何人都可以抛出`java.lang.InternalError`或`java.lang.UnknownError`吗?

我一直很好奇如何抛出java.lang.InternalErrorjava.lang.UnknownError抛出.

我的意思并不简单

throw new InternalError();
throw new UnknownError();
Run Code Online (Sandbox Code Playgroud)

但是Java SE库或JVM本身抛出了一个(最近通常的Oracle实现).

例如,ArrayList.clone真正抛出特定代码或环境InternalError是我想要的答案.以下是其源代码.

public Object clone() {
    try {
        ArrayList<?> v = (ArrayList<?>) super.clone();
        v.elementData = Arrays.copyOf(elementData, size);
        v.modCount = 0;
        return v;
    } catch (CloneNotSupportedException e) {
        // this shouldn't happen, since we are Cloneable
        throw new InternalError(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

java exception

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

缓存友好的离线随机读取

考虑一下 C++ 中的这个函数:

void foo(uint32_t *a1, uint32_t *a2, uint32_t *b1, uint32_t *b2, uint32_t *o) {
    while (b1 != b2) {
        // assert(0 <= *b1 && *b1 < a2 - a1)
        *o++ = a1[*b1++];
    }
}
Run Code Online (Sandbox Code Playgroud)

其目的应该足够明确。不幸的是,b1包含随机数据并垃圾缓存,成为foo我的程序的瓶颈。无论如何我可以优化它吗?

这是一个 SSCCE,应该类似于我的实际代码:

#include <iostream>
#include <chrono>
#include <algorithm>
#include <numeric>

namespace {
    void foo(uint32_t *a1, uint32_t *a2, uint32_t *b1, uint32_t *b2, uint32_t *o) {
        while (b1 != b2) {
            // assert(0 <= *b1 && *b1 < a2 - …
Run Code Online (Sandbox Code Playgroud)

algorithm optimization performance x86 cpu-cache

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

增加引用变量不起作用

应该输出以下代码6,而是输出5.我无法弄清楚为什么.这是怎么回事?

#include <iostream>

template <typename T>
void foo(T& y)
{
   y++;
}

int main()
{
   int x = 5;

   // Why won't this line work???/
   foo(x);

   std::cout << x;
}
Run Code Online (Sandbox Code Playgroud)

现场演示

c++ c++11

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

在C++中查找作为字谜的回文数量

我正在参加http://www.hackerrank.com上的在线编程竞赛.我正在研究的问题之一是找到一些字符串字符串的字谜.我已经解决了这个问题但是当我尝试上传它时,它在许多测试用例中都失败了.由于实际的测试用例对我来说是隐藏的,我不知道为什么它失败但我认为这可能是一个可扩展性问题.现在我不希望有人给我一个现成的解决方案,因为这不公平,但我只是好奇人们对我的方法的看法.

以下是该网站的问题描述:

既然国王知道如何找出一个给定的单词是否有一个回文或不回文的字谜,他就面临着另一个挑战.他意识到,对于给定的单词,可能存在多个字谜.你能帮他找出一个特定单词可能有多少字谜吗?

国王有很多话.对于每个给定的单词,国王需要找出作为回文的字符串的字符数.由于字谜的数量可能很大,国王需要字谜数%(10 9 + 7).

输入格式:
包含输入字符串的单行

输出格式:
包含anagram字符串数的单行.palindrome % (109 + 7)

制约因素:

  • 1<=length of string <= 105
  • 字符串的每个字符都是小写字母.
  • 每个测试用例至少有1个anagram,这是一个回文.

样本输入01:

aaabbbb
Run Code Online (Sandbox Code Playgroud)

样品输出01:

3 
Run Code Online (Sandbox Code Playgroud)

说明:
作为回文的给定字符串的三种排列可以作为abbabba,bbaaabb和bababab给出.

样本输入02:

cdcdcdcdeeeef
Run Code Online (Sandbox Code Playgroud)

样本输出02:

90
Run Code Online (Sandbox Code Playgroud)

如问题描述中所指定的,输入字符串可以大到10 ^ 5,因此大字符串的所有回文都是不可能的,因为我将遇到数字饱和度问题.此外,因为我只需要给出一个基于模(10 ^ 9 + 7)的模数答案,我想用基数(10 ^ 9 + 7)记录数字,并且在所有计算之后采用基数的分数部分(10 ^ 9) + 7)答案,因为那将是模数.

我的算法如下:

  1. 存储每个字符的频率(只需要查看字符串的一半,因为后半部分应该与第一个字符串相同)
  2. 如果有多个字符出现在奇数个时间,则不能使用回文
  3. 否则每个char的频率递增计算回文数(动态编程)

对于DP,以下是子问题:previous_count = 1

对于每个额外的角色 added number of palindromes = previous_count * (number_of_char_already_seen + 1)/(number of char same as current char)

这是我的代码:

#include <iostream> …
Run Code Online (Sandbox Code Playgroud)

c++ string algorithm dynamic-programming palindrome

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

构建二进制搜索树和AVL树所需的时间复杂度之间的差异?

当我学习二元搜索树(平衡和不平衡)时,我想出了我需要解决的问题:

  1. 如果我构造一个二进制搜索树(不需要平衡),使用n个元素那么树构造的总时间复杂度是多少?

  2. 如果AVL树是由n个元素构成的,那么构造该AVL树的时间复杂度是多少?

它应该超过nlog(n)吗?因为我们需要大量的旋转来进行AVL树构建.

我知道AVL树中的插入和删除操作将是log(n)顺序(如果使用随机元素构造的二叉搜索树具有log(n)高度,则同样如此).

但是我需要了解整体树的构建成本以及它如何变化,因为我需要使用平衡搜索树进行分类.

algorithm avl-tree time-complexity binary-search-tree data-structures

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