小编Jay*_*uld的帖子

while while循环满足2个条件之一

我正在尝试使用do while循环来确定用户是否想要将狗或猫检入Java中的狗窝系统.这个想法是他们在提示时输入"dog"或"cat",任何条目都会导致错误,并且会再次提示他们输入文件名.

如果输入了"cat"或"dog",则会将等效文件分配给程序(dogs.txt或cats.txt),然后系统将运行并将该数据加载到程序中.

以下是当前变量:

private String filename; // holds the name of the file
private Kennel kennel; // holds the kennel
private Scanner scan; // so we can read from keyboard
private String tempFileName;
private String dogsFile = "dogs.txt";
private String catsFile = "cats.txt";
Run Code Online (Sandbox Code Playgroud)

以及导致问题的方法:

private KennelDemo() {
    scan = new Scanner(System.in);

    boolean fileNotCorrect = false;

    System.out.print("Which animal are you looking to check into the kennel?: " + "\n");
    System.out.println("Dog");
    System.out.println("Cat");  
    tempFileName = scan.next();

    do {
        tempFileName.equals("dog");
        filename = dogsFile; …
Run Code Online (Sandbox Code Playgroud)

java while-loop

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

在.NET Core Application中引用DLL时出现FileNotFoundException

我有一个.NET Core控制台应用程序和一个.NET Core类库.两者都是非常简单的单一类项目.两者都是新建的,全新安装了最新的.NET Core.两者都针对.NET Core 1.1.

每当我在应用程序中包含.NET Core类库时,就会在运行时发生此错误:

System.IO.FileNotFoundException:'无法加载文件或程序集'NAME,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'.该系统找不到指定的文件.

构建任一项目都很好,Intellisense在包含using...语句后向我显示了类库的内容.编写引用和代码后,编译时没有问题.

我在控制台应用程序中为引用的程序集设置了Copy Localto Yes.引用的DLL bin在运行时存在于控制台应用程序的文件夹中.

这是csproj参考:

<Reference Include="NAME">
  <HintPath>path\bin\Debug\netcoreapp1.1\NAME.dll</HintPath>
  <Private>true</Private>
  <SpecificVersion>false</SpecificVersion>
</Reference>
Run Code Online (Sandbox Code Playgroud)

这只发生在.NET Core DLL中,我完全没有.NET Framework 4.5.*及更高版本的问题.

任何人都能对这个问题有所了解吗?我发现有关此问题的任何SO/MSDN页面都是特定的问题,例如针对DLL的错误版本,这没有帮助.

c# .net-core

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

期望对象具有所有给定的属性

我正在使用 Jest 为 Node.js 应用程序编写单元测试,并尝试测试 API 端点是否返回具有一组预先确定的属性的对象。我有以下内容:

const sampleResponse = {
  "Game": "GameName",
  "World": "2",
  "Location": "ServerLocation",
  "Timestamp": 1516204557853,
  "alive": true,
  "time": 10.1,
  "min": 8.927,
  "max": 10.154,
  "avg": 9.409
};
Run Code Online (Sandbox Code Playgroud)

然后我使用以下代码来测试对象属性:

test("Location for server cluster exists, and returns an array of objects", () => {
  return Request(Routes.LocationSpecific).then((result) => {
    expect(result[0]).toMatchObject(sampleResponse);
  });
});
Run Code Online (Sandbox Code Playgroud)

其中包含与上述对象类似的数据的对象数组在哪里result,我只是简单地匹配result[0].

测试失败,因为从我的 API 端点返回的每个对象属性的值与上面的示例数据不匹配。这些属性存在,由于值不匹配,我的终端中出现红色,但我想将其变为绿色。

有没有办法将所有给定属性result[0]与示例对象相匹配,而不管它们的值如何?

javascript node.js jestjs

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

迭代数组并打印每个对象

正在加载我的阵列,并按计划打印出卡片(按照它们出现在文件中的顺序).当我尝试以单独的方法循环回到arraylist以检查数据是否存在时,它只打印最后一个对象而不是每个对象.谁能告诉我为什么?

加载方法

public class
    TestFrame {

//VARIABLES
private static Deck deck;
private static Card card;
private static Scanner scan;
private final static String fileName = "cards.txt";
static ArrayList<Card> cards = new ArrayList<>();

private static void Load(){

    deck = new Deck();
    card = new Card();

    // Load in the card file so that we can work with the data from cards.txt internally rather than from the file constantly.

    try(FileReader fr = new FileReader(fileName);
            BufferedReader br = new BufferedReader(fr);
            Scanner …
Run Code Online (Sandbox Code Playgroud)

java arraylist

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

PHP会话没有设置,除非我刷新

我已经创建了一个工作会话(在这里我可以添加帮助)并且我已经设法让它在多个文件中存储变量而没有任何问题.

当$ username未填写时,会提示用户提交其用户名,并在提交$ username时分配用户名的值,表单将替换为文本,不再提示用户输入用户名,理论.

这是我现在的代码:

<?php
session_start();

?>

<header>
    <!DOCTYPE html>
    <link rel="stylesheet" type="text/css" href="style/main.css">
    <title>webshop</title>

</header>

<div id="LogIn">
    <?php
    if(isset($_SESSION['username'])){
    echo 'Current session username: '.$_SESSION['username'];
    echo '<br /><a href="logout.php">Destroy current session</a>';
} else {
        ?>
        <form class="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" id="form1">
            <fieldset>
                <ul>
                    <p>Please enter your username to continue to the webshop.</p>
                    <label for="name">User Name:</label><span><input type="text" name="username" placeholder="User Name"
                                                                     class="required" role="input"
                                                                     aria-required="true"/></span>

                    <input class="submit transparentButton" value="Next" type="submit" name="Submit"/>
                </ul>
                <br/>
            </fieldset>
        </form>
        <?php

        if (isset($_POST['Submit'])) {
            $_SESSION['username'] …
Run Code Online (Sandbox Code Playgroud)

php session

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

在POST之后,empty()检查未验证

我在header.php这里设置会话变量:

<?php

session_start();

if(empty($_SESSION['name'])) {
    ?>
    No name set! <br>
    <form action="" method="post">
        <input type="text" name="textName"/>
        <input type="submit" name="submitName" value="Log in"/>
    </form>

    <?php
    if(isset($_POST['submitName'])) {
        $_SESSION['name'] = $_POST['textName'];

    }
}
Run Code Online (Sandbox Code Playgroud)

name在此处验证变量是否在我的索引上设置:

<?php

include 'header.php';

if(!empty($_SESSION['name'])){
    ?>
<a href="session_kill.php">Log out</a>
<?php
}

?>
Run Code Online (Sandbox Code Playgroud)

我可以确认会话变量存在,因为logout链接出现了.

通过表单提交名称后,会话变量会更新,但empty()检查不会再次发生,这意味着textarea除非我刷新,否则会停留在页面上.

谁能告诉我为什么会这样?

php

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

标签 统计

java ×2

php ×2

.net-core ×1

arraylist ×1

c# ×1

javascript ×1

jestjs ×1

node.js ×1

session ×1

while-loop ×1