Eclipse中的if语句 [英] if statement in Eclipse

查看:329
本文介绍了Eclipse中的if语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用if语句来获取设备周围wifi信号的某些特定信息,但是当我尝试使用d1,d2和d3之外的if语句时,它显示了错误吗? 知道如何解决这个问题

I am using if statement to get some specific information of the wifi signal surrounded my device but when I tried to use that values which are d1,d2 and d3 out side the if statement it shows me an error? any idea how to solve this

这是我使用的代码:

for (ScanResult result: results) {  
    String NAME = result.SSID;
    if (NAME.equals("rubelwifii" )) {
        float s1=result.level;
        float  d1 =30*(1-(2*(s1+100)/100));
        System.out.println(result.SSID.toString());
        System.out.println(s1);
        System.out.println(d1);
    }
    if  (NAME.equals("ABDULHAKEEM" ))  {
        float s2=result.level;
        float  d2 =30*(1-(2*(s2+100)/100));
        System.out.println(result.SSID.toString());
        System.out.println(s2);
        System.out.println(d2);
    }
    if (result.SSID.equals("shamwifi" ))  {
        float s3=result.level;
        float  d3 =30*(1-(2*(s3+100)/100));
        System.out.println(result.SSID.toString());
        System.out.println(s3);
        System.out.println(d3);
    }

float    distanc = d1+d1+d3;
System.out.println(distanc);

推荐答案

一些改进:

您不应该比较NAME.equals("ABDULHAKEEM"),因为NAME可能为null,这将引发异常.

You shouldn't compare NAME.equals("ABDULHAKEEM" ) because NAME might be null, which would throw an exception.

您不需要执行result.SSID.toString(). result.SSID已经是一个字符串.

You don't need to do result.SSID.toString(). result.SSID is already a String.

使用else ifs提高速度(如果第一次匹配,则无需再检查2次).

Use else ifs to improve the speed (don't need to check another 2 times if the first time was a match).

        float s1=0;
        float d1=0;
        float s2=0;
        float d2=0;
        float s3=0;
        float d3=0;

        for (ScanResult result: results) {  
            String name = result.SSID;
            if ("rubelwifii".equals(name)) {
                s1=result.level;
                d1 =30*(1-(2*(s1+100)/100));
                System.out.println(result.SSID);
                System.out.println(s1);
                System.out.println(d1);
            }
            else if  ("ABDULHAKEEM".equals(name))  {
                s2=result.level;
                s2 =30*(1-(2*(s2+100)/100));
                System.out.println(result.SSID);
                System.out.println(s2);
                System.out.println(d2);
            }
            else if ("shamwifi".equals(name))  {
                s3=result.level;
                d3 =30*(1-(2*(s3+100)/100));
                System.out.println(result.SSID);
                System.out.println(s3);
                System.out.println(d3);
            }
            else {
                System.out.println("name ["+name+"] was not one of the known spots");
            }
        }

        float distanc = d1+d1+d3;
        System.out.println(distanc);

这篇关于Eclipse中的if语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆