小编nic*_*o_c的帖子

Java,如何将字符串与String Arrays进行比较

我一直在这里搜索一段时间,但一直未能找到答案.

我基本上需要使用数组来完成大学的这项任务.然后我应该检查输入(也是一个String)匹配String数组中存储的内容.

我知道可以通过使用.equals()方法轻松比较Strings.但是,相同的方法不适用于String数组.

我为StackOverflow创建了以下代码示例,因此您可以使用它来向我解释它,如果您愿意的话.

我究竟做错了什么?

import java.util.Scanner;

class IdiocyCentral {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        /*Prints out the welcome message at the top of the screen*/
        System.out.printf("%55s", "**WELCOME TO IDIOCY CENTRAL**\n");
        System.out.printf("%55s", "=================================\n");

        String [] codes = {"G22", "K13", "I30", "S20"};

        System.out.printf("%5s%5s%5s%5s\n", codes[0], codes[1], codes[2], codes[3]);
        System.out.printf("Enter one of the above!\n");

        String usercode = in.nextLine();

        if (codes.equals(usercode)) {
            System.out.printf("What's the matter with you?\n");
        }
        else {
            System.out.printf("Youda man!");
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

如果以前曾经问过这个问题,我很抱歉,如果它是一个双重问题,我会将其删除.

java arrays string equals

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

使用Emacs 24自动完成不适用于Java,C或C++模式

我使用marmalade repo安装了auto-complete.一切安装正确,移动后的东西我设法启动并运行自动更正没有任何错误与我的init.el中的以下代码:

;; auto-complete
(add-to-list 'load-path "~/.emacs.d/elpa/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete/dict")
(ac-config-default)
Run Code Online (Sandbox Code Playgroud)

现在我可以使用自动完成而不使用Emacs Lisp,但每当我使用任何其他模式时,如Java,C或C++它根本不起作用.

我也安装了yasnippet(它工作得很好),不确定是否与它有任何关系.这是我的init.el中的相关代码:

;;yasnippet
(add-to-list 'load-path
              "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)
Run Code Online (Sandbox Code Playgroud)

我正在学习Emacs,目前我还是个菜鸟.我一直在查看文档和SO,但没有找到任何东西.我真的很感激任何帮助.

emacs autocomplete emacs24

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

MySQL数据源没有出现在Visual Studio 2015中

正如标题所说,无论我做什么,MySQL都不会出现在Visual Studio 2015的数据源列表中.

我已经完成了这个问题中建议的所有内容:MySQL数据源没有出现在Visual Studio中

我还安装了开发版本和不同版本的连接器以及相应的MySQL VS驱动程序,如下表所示:https://dev.mysql.com/doc/visual-studio/en/visual-studio-install.html

我重新安装了Visual Studio本身.

所有这一切都无济于事.我可以手动配置连接并运行一个读取和写入MySQL的.Net应用程序,但Visual Studio拒绝在数据源弹出窗口中对MySQL执行任何操作.

没有将数据库移动到SQL Server我不知道还能在这里做些什么.

任何解决这个问题的建议或帮助都会很棒.过去48小时我一直在这里.

目前安装的版本:MySQL for Visual Studio - 1.2.7,Connector/Net - 6.9.9

这适用于基于.Net 4.5.2的项目.

mysql mysql-connector visual-studio-2015

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

在进行用户输入时打印格式

我有一个大学作业,我需要打印出硬件商店出售的商品,从用户那里获取输入,对该输入执行一些计算,然后打印出发票.

我已经能够成功打印出硬件商店销售的商品,但是遇到while了输入的循环问题.

程序要求用户输入CODE,然后询问相应的QUANTITY.这在循环的第一次迭代中工作正常,但在第二次迭代时,用户提示"CODE:"和"QUANTITY:"出现在同一行,尽管我println在提示用户时使用了它.

我非常感谢适合新编程人员的详细回复.

这是代码:

 import java.util.Scanner;

 class HardwareStore {


    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);


        System.out.println("WELCOME TO THE HARDWARE STORE!");
        System.out.println("----------------------------------------------------------------------");


        String sticky = "G22";
        String keyring = "K13";
        String screwy = "S21";
        String padlock = "I30";


        int stickyprice = 10989;
        int keyringprice = 5655;
        int screwyprice = 1099;
        int padlockprice = 4005;


        System.out.println("CODE\t\tDESCRIPTION\t\t\t\t\tPRICE");
        System.out.println("----\t\t-----------\t\t\t\t\t-----");

        System.out.println(sticky + "\t\tSTICKY Construction Glue, Heavy Duty, \n\t\t7oz, 12 Pack \t\t\t\t\t$" + stickyprice);
        System.out.println(keyring + …
Run Code Online (Sandbox Code Playgroud)

java arrays input

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

如何在Java中有效地使用模数运算符

我正在用Java处理大学工作,处理货币问题.为此,我建议使用ints而不是double,然后在打印语句时将其转换为美元值.

一切正常,直到我对数字4005进行计算(如$ 40.05表示为int).我正在粘贴我遇到问题的代码部分,如果有人能告诉我我做错了什么,我将不胜感激.

import java.io.*;
class modumess {
    public static void main(String[] args) {
        int money = 4005; //Amount in cents, so $40.05;

        // Represent as normal currency
        System.out.printf("$%d.%d", money/100, money%100);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码在运行时显示40.5美元,而不是40.05美元.是什么赋予了?

请注意,这是我的作业,我想学习,所以我真的很感激这里解决问题的根源,而不仅仅是一个简单的解决方案.

编辑:在Finbarr的回答之后,我在代码中添加了以下内容,似乎解决了这个问题:

if (money%100 < 10) {
            format = "$%d.0%d";
        }
Run Code Online (Sandbox Code Playgroud)

这是一个很好的方法,还是我在这里过于复杂?

编辑:我只想说清楚,这是Finbarr和Wes的回答,这对我有帮助,我接受了Wes的答案,因为它让我更清楚如何继续.

java currency modulus

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

Java - 根据条件转回for循环计数器

以下是我的大学任务代码的一部分.

else if (!codeList.contains(userCode)) {
                    i--; // i is the counter for the for-loop
                }
else if (userQuantity[i]==0) {
                    i--;
                }
Run Code Online (Sandbox Code Playgroud)

第一部分确保如果用户输入错误的代码,则计数器i不会递增1,或者更确切地说,它从最近递增的计数器中减去1.这部分工作正常.

然而,第二部分是我似乎遇到的问题.userQuantity []是一个int数组,它必须是一个数组.这似乎对代码没有任何作用.即使为数量输入0,它仍然会增加不希望的计数器.

我应该解释一下,为了避免混淆,这是一个无限的for循环(带有break语句).我做for循环的原因是因为我需要.是因为我的for循环条件不起作用还是我做了一些完全错误的事情?

这是我的大学任务所以我会很感激答案的解释,而不仅仅是快速修复.如果您需要我解释,请告诉我.

java for-loop if-statement

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