小编Har*_*ian的帖子

Java:洗牌32张牌?

我自己写了这个方法我想知道是否有更好的方法来做到这一点?

public Card[] shuffle(){
    for(int i = 0; i < Deck.length; i++){
       int x = i + (int) (Math.random() * (32 - i));
       Card temp = Deck[i];
       Deck[i] = Deck[x];
       Deck[x] = temp;
    }
    return Deck;
}
Run Code Online (Sandbox Code Playgroud)

java methods shuffle

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

Java:内存中会发生什么?

例1:

System.out.print("Enter an integer: ");
int x = input.nextInt();
if(x < value) {  }
Run Code Online (Sandbox Code Playgroud)

例2:

System.out.print("Enter an integer: ");
if(input.nextInt() < value) {  }
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 如果您需要特定条件下的值,哪一个更好用?或者两种语法在内存方面都相同?

  2. 在内存方面,第二个例子中输入的值是怎么回事?

请详细说明我的答案.

java memory java.util.scanner

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

Java:try(Scanner scan = new Scanner(System.in) { } 导致异常

使用try(Scanner scan = new Scanner(System.in)) { }导致

线程“main”中的异常 java.util.NoSuchElementException

当我尝试调试时,它说

变量信息不可用,源代码编译时没有 -g 选项。

并显示以下代码

    public Scanner(InputStream source) {
    this(new InputStreamReader(source), WHITESPACE_PATTERN);
  }
Run Code Online (Sandbox Code Playgroud)

我使用这一行的方法之一:

protected String loginName(){
    String username;
    String password;
    try (Scanner scan = new Scanner(System.in)) { // This line is causing the error.
      System.out.print("Enter Username: ");
      username = scan.next();
      System.out.print("Enter Password: ");
      password = scan.next();
    }
    if(getUsernamesList().contains(username))

        if(password.equals(getPasswordsList().get(getUsernamesList().indexOf(username)))) return username;
        else return "-1";

    else return "-1";
}
Run Code Online (Sandbox Code Playgroud)

java debugging java.util.scanner

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

返回名称缩写的C程序(CS50)

这是我的 main

char* name = GetString();
if(name != NULL)
{
    for(int i = 0, j = strlen(name); i < j; i++)
    {
        if(!isalpha(name[i-1]) && isalpha(name[i]))
            printf("%c", toupper(name[i]));
    }
    printf("\n");
}
Run Code Online (Sandbox Code Playgroud)

该计划效果很好; 它通过了所有(check50)测试.

但我担心一个可能的错误,那就是i = 0,存储的值是否可能name[-1]是一个字母字符?

注意:该GetString()函数返回用户输入的字符串.

c memory string char cs50

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

标签 统计

java ×3

java.util.scanner ×2

memory ×2

c ×1

char ×1

cs50 ×1

debugging ×1

methods ×1

shuffle ×1

string ×1