如果在日食中的声明 [英] if statment in eclipse

查看:123
本文介绍了如果在日食中的声明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用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次)。 / p>

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);

这篇关于如果在日食中的声明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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