Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java.util.Scanner到int_Java_Java.util.scanner - Fatal编程技术网

Java.util.Scanner到int

Java.util.Scanner到int,java,java.util.scanner,Java,Java.util.scanner,如何将存储在“dryrun.txt”中的数字设置为int url?我知道这是一个非常简单的答案,但我似乎不明白。我看过其他关于使用parseInt的帖子,但是当我这样做的时候,我总是会遇到一个错误,我问我的老师,他说那只用于在其他文本中查找数字,在这个文件中它只有1个数字。谢谢你的帮助 import java.util.Scanner; import java.io.*; public class Even { public static void main (String[] args)

如何将存储在“dryrun.txt”中的数字设置为int url?我知道这是一个非常简单的答案,但我似乎不明白。我看过其他关于使用parseInt的帖子,但是当我这样做的时候,我总是会遇到一个错误,我问我的老师,他说那只用于在其他文本中查找数字,在这个文件中它只有1个数字。谢谢你的帮助

import java.util.Scanner;
import java.io.*;

public class Even
{
  public static void main (String[] args) throws IOException
  {
    int even = 0;
    int url = 0;
    int Counter = 2;
    Scanner fileScan;

    fileScan = new Scanner (new File("dryrun.txt"));
    url = fileScan.nextInt();

    if ( url > 2)
      System.out.println ("Error");      
    if (url % 2 == 0)
      even = (Counter + 2);

    System.out.print(" "+ even +" "); 
  }
}

好吧,是的,你是对的抱歉我没意识到但无论如何我还是 有我原来的问题,文件中的值现在是0,它给出 请告诉我错误,但如果我将其设置为2,它将加上4,并且不会给我 错误

这表明你的逻辑是错误的

基于此代码,让我们做一些桌面检查

if ( url > 2)
  System.out.println ("Error");      
if (url % 2 == 0)
  even = (Counter + 2);
假设
url==4

  • if(url>2)
    =
    if(4>2)
    =
    true
    ,打印
    错误
  • if(url%2==0)
    =
    if(4%2==0)
    =
    true
    偶数=计数器+2
假设
url==2

  • 如果(url>2)
    =
    如果(2>2)
    =
    false
    ,则不执行任何操作
  • if(url%2==0)
    =
    if(2%2==0)
    =
    true
    偶数=计数器+2
假设您希望在数字超过
1
时打印错误,则应使用
if(url>=2)
if(url>1)

假设出现错误时不想继续计算结果,则应使用
if-else
语句,如下所示

if ( url > 2)
  System.out.println ("Error");      
else if (url % 2 == 0) {
  even = (Counter + 2);
  System.out.print(" " + even + " ");
}

文件中的值是多少?这段代码似乎是正确的。你得到的错误是什么?我没有得到任何错误,但我没有任何工作,如果我在文件中设置的值为2,它应该打印出错误,但它没有,它只是增加了2,并打印出4。如何将文件中的值设置为int url?
url>2
表示大于2,因此如果文件值为2,则不会传递if语句。对于2的输入,获得4的输出是预期的结果。您可以通过进入
System.out.println(url)来测试它url=fileScan.nextInt()中的值后,单击code>好的,是的,你是对的,很抱歉我没有意识到这一点,但无论如何,我仍然有我的原始问题,文件中的值现在是0,它给我错误,但如果我将其设置为2,它会添加四个,并且不会给我错误。。
if ( url > 2)
  System.out.println ("Error");      
else if (url % 2 == 0) {
  even = (Counter + 2);
  System.out.print(" " + even + " ");
}