BlueJ(如果在if中给出一个String值)

时间:2016-03-13 08:07:15

标签: java string

这个程序有什么问题?

我想创建一个只在输入密码时打开的程序。 它不接受String值作为密码。那么任何人都可以修改它吗?

import java.io.*;

class aa

{

    public static void main(String input)throws IOException
    {
        String a;
        if(a.equals("A"))
        {
            InputStreamReader read = new InputStreamReader(System.in);
            BufferedReader in = new BufferedReader(read);
            double x;
            double y;
            double z;
            System.out.println("Please type the two Numbers");
            x=Double.parseDouble(in.readLine());
            y=Double.parseDouble(in.readLine());
            z=x*y;
            System.out.println("Product="+z);
        }

        else
        {
            System.out.println("Wrong Password");
        }
    }
}

2 个答案:

答案 0 :(得分:0)

String a;
if(a.equals("A"))
{
  ...
  ...
}

您尚未为变量a分配任何值。因此,它永远不会进入if循环。试试这个:

String a;
InputStreamReader read = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(read);
a = in.ReadLine();    
if(a.equals("A"))        
{
      ...
      ...
}            

答案 1 :(得分:0)

您必须添加代码才能读取字符串以读取字符串。

示例:

public static void main(String input)throws IOException
{
    String a;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // add this line
    a = br.readLine(); // add this line
    if(a.equals("A"))
    {

或者如果您要使用input

public static void main(String input)throws IOException
{
    String a;
    a = input; // add this line
    if(a.equals("A"))
    {

注意:此main方法是一个入口点,因为入口点的签名是public static void main(String[] args),并且此函数的签名与此不同,因为参数不是数组但是一个字符串。