我正在尝试使用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) 我有一个.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的错误版本,这没有帮助.
我正在使用 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]与示例对象相匹配,而不管它们的值如何?
正在加载我的阵列,并按计划打印出卡片(按照它们出现在文件中的顺序).当我尝试以单独的方法循环回到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) 我已经创建了一个工作会话(在这里我可以添加帮助)并且我已经设法让它在多个文件中存储变量而没有任何问题.
当$ 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) 我在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除非我刷新,否则会停留在页面上.
谁能告诉我为什么会这样?
java ×2
php ×2
.net-core ×1
arraylist ×1
c# ×1
javascript ×1
jestjs ×1
node.js ×1
session ×1
while-loop ×1