小编Boh*_*ian的帖子

我无法让我的方法抛出自定义异常

我有一个类EmployWorker和我为学校项目创建的超类Employee.我们应该在本周为它设置例外,并且在尝试创建其中一个时我一直收到错误.这是我的代码:

在ProductionWorker中:

   public String toString() throws InvalidShift{
      DecimalFormat dollar = new DecimalFormat("$#,##0.00");
      String str = super.toString();

      str += "The employee's pay rate is " + dollar.format(getPayRate()) +"\n";
      str += "The employee works the " + getShift() + " shift";
      return str;
   }
Run Code Online (Sandbox Code Playgroud)

super.toString类:

   public String toString() throws InvalidShift{
      String str = "The employee's name is " + getEmployeeName() + ".\n";
      if (employeeNumber.equals("")){
         str += "The employee's ID number is invalid.\n";
      }else{
         str += "The Employee's ID number is " + …
Run Code Online (Sandbox Code Playgroud)

java methods exception custom-exceptions superclass

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

如何修复"列无效,因为它不包含在聚合函数或GROUP By子句中"

我正在尝试从两个表中提取数据,这些表计算每个客户端的订单数量.下面的SQL在没有输入S.Name的情况下工作正常SELECT,但我希望输出中的客户端名称比其StoreID更有意义.当我添加S.Name时,我收到以下错误:

列'uStores.Name'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.

SELECT O.StoreID, COUNT(O.StoreID) AS OrderCount, S.Name
FROM Orders AS O
JOIN Stores AS ON O.StoreID = S.StoreID
GROUP BY O.StoreID
ORDER BY OrderCount DESC
Run Code Online (Sandbox Code Playgroud)

如何使此查询有效?

sql sql-server

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

将字符串与单词和数字1-9匹配

在以下字符串的情况下,我的正则表达式很弱

"OtherId":47
"OtherId":7
"MyId":47     (Match this one)
"MyId":7
Run Code Online (Sandbox Code Playgroud)

我想拿起有"MyId"的字符串和一个不是1 - 9的数字

我以为我可以使用:

RegEx:如何匹配所有大于49的数字?

结合使用: 正则表达式:是否有AND运算符?

但它没有发生......你可以在这里看到我失败的尝试:

https://www.regextester.com/index.php?fam=99753

这是

\b"MyId":\b(?=.*^[0-10]\d)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

regex

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

Java并发hashMap检索

ConcurrentHashMap 文件说:

检索操作(包括get)通常不会阻塞,因此可能与更新操作(包括put和remove)重叠.检索反映了最近完成的更新操作的结果.(更正式地说,给定密钥的更新操作承担与该密钥报告更新值的任何(非空)检索之前发生的关系.)

但我无法理解检索操作如何阻止相同键的更新/删除操作?

"给定密钥的更新操作承担与该密钥的任何(非空)检索之前发生的关系"

这表明并发哈希映射有某种方式为同一个键创建读取/更新/删除操作的序列.但这意味着读取操作被更新/删除操作阻止.

不知道我在这里缺少什么.

java multithreading

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

如何对集合类型的元素应用验证

我正在使用 spring,因此javax.validation,这就是这个问题的背景。

假设我想验证列表的元素仅包含 4 位数字。

我想编码:

@Min(1000)
@Max(9999)
List<Integer> numbers;
Run Code Online (Sandbox Code Playgroud)

但是验证会爆炸,抱怨@Min并且@Max不能用于验证List. 好吧,有道理。

我可以@Valid在自定义对象列表上使用,例如:

@Valid // validate each element
List<My4DigitNumberClass> numbers;

@MyCustom4DigitValidation
class My4DigitNumberClass {
    Integer number;
}
Run Code Online (Sandbox Code Playgroud)

但我只想使用Integer(最终还有其他盒装原语、字符串等),例如:

@ValidateElements({ @Min(1000), @Max(9999) })
List<Integer> numbers;
Run Code Online (Sandbox Code Playgroud)

我可以在不创建任何自定义类或自定义验证注释的情况下执行此操作吗?

java collections spring javax.validation

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

为什么时间上有很多零?

输入:

INSERT INTO APPOINTMENT (A_DATETIME, CLIENT_ID, PET_ID, VN_ID) 
VALUES (TO_DATE('2023-01-20 09:30', 'YYYY-MM-DD hh24:mi'), 1001, 10001, 801)
Run Code Online (Sandbox Code Playgroud)

输出:

   APP_ID A_DATETIME                    CLIENT_ID     PET_ID      VN_ID
---------- ---------------------------- ---------- ---------- ----------
         1 20-JAN-23 09.30.00.000000000       1001      10001        801
Run Code Online (Sandbox Code Playgroud)

sql oracle

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

安排给定的时间,但适用于 SQL Server 中的不同时区并使用 Java 客户端

我需要允许系统在本地安排一些时间并在不同时区正确显示该时间。

因此,如果我在英国安排下午 1 点到下午 3 点之间的时间,那么如果我要在美国看到这个时间表,那么如您所知,美国会提前 7 小时,因此美国的安排时间将为下午 7 点到晚上 10 点

我之前在 sql server 中使用过 datetimeoffset ,它允许 UTC 日期适用于不同的时区。

我确实需要使用 sql server 来解决这个问题。

那么,当用户选择开始日期和结束日期时,我将如何采用这种方法来获取时间差呢?

我将使用的客户端是java来显示不同时区的开始和结束日期。

我已经在 sql server 中尝试过这个,但我使用了 getutcdate。这是为了另一个项目在输入条目后最初存储某个日期时初始化。但正如我上面所说,我需要用户在开始日期和结束日期之间选择日期。

请注意,存储日期的数据库提前 1 小时,因为它位于另一个国家/地区的服务器上。

java sql sql-server

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

错误:"没有OverLoad方法'ExecuteInsert'取'5'参数"

我有关于C#参数的问题,

我收到此错误:

方法'ExecuteInsert'没有OverLoad为'5'

这是我的代码:

private void ExecuteInsert(string FirstName, string LastName, string MiddleName, string UserName, string Password, string MemberStatus)
{
    SqlConnection conn = new SqlConnection(GetConnectionString());
    string sql = "INSERT INTO Registration (FirstName, LastName, MiddleName, UserName, Password, MemberStatus, DateRegistration) VALUES"
                + " (@FirstName,@LastName,@MiddleName,@UserName,@Password,'ACTIVE',CURRENT_TIMESTAMP)";

    try
    {
        conn.Open();
        SqlCommand cmd = new SqlCommand(sql, conn);
        SqlParameter[] param = new SqlParameter[5];
        param[0] = new SqlParameter("@FirstName", SqlDbType.VarChar, 50);
        param[1] = new SqlParameter("@LastName", SqlDbType.VarChar, 50);
        param[2] = new SqlParameter("@MiddleName", SqlDbType.VarChar, 50);
        param[3] = new SqlParameter("@UserName", SqlDbType.VarChar, 50);
        param[4] …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

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

如何选择具有来自集合中所有值的行的id

我想从一个表中选择所有Id,这两个程序的'篮球'和'足球'都有行

给出这样的表:

Id  program
1   basketball
2   football
3   basketball
2   basketball
1   football
4   football
5   basketball
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这样的结果:

id
1
2
Run Code Online (Sandbox Code Playgroud)

sql

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

慢Java程序

我有一个问题,让我说我有这样的代码:

public static void main(String[] args)
{
startMethod1();
startMethod2();
}
Run Code Online (Sandbox Code Playgroud)

现在,如果startMethod1方法非常大并且需要花费大量时间来执行它,则在startMethod1完成之前启动startMethod2.如何让这些方法逐个执行?

java methods execute

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

如何在java中重复给定String的每个字符?

如何在java中重复给定String的每个字符?

例如:

String s = "Hello";
Run Code Online (Sandbox Code Playgroud)

变为:

s = "HHeelllloo";
Run Code Online (Sandbox Code Playgroud)

java string

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

这个java片段可以重写吗?

任何人都可以建议如何重写以下Java片段,如果是这样,为什么它不合适,谢谢!

try {
    int i = 0;
    while (true)
        a[i++].func();
} catch(ArrayIndexOutOfBoundsException e) {
}
Run Code Online (Sandbox Code Playgroud)

java

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