java 权限判定

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:47:27
输入1个数(1~7) 转化2进制后 判定其权限

4(100)、2(010)、1(001)分别代表 读、写、执行
例:5(101)具有 读、执行 权限
首先感谢2楼的大虾
能不能用3个输出语句
转化2进制后为 XXX 3位
如果满足第1位是1 执行1个输出语句,例:读
如果满足第2位是1 执行1个输出语句,例:写
如果满足第3位是1 执行1个输出语句,例:执行

import java.io.IOException;
public class Role {

public static void main(String args[]) throws IOException {
char b = (char)System.in.read();

switch(Integer.parseInt(Integer.toBinaryString(Integer.parseInt(b+""))))
{
case 1:System.out.println("具有执行权限");break;
case 10:System.out.println("具有写权限");break;
case 11:System.out.println("具有写,执行权限");break;
case 100:System.out.println("具有读权限");break;
case 101:System.out.println("具有读,执行权限");break;
case 110:System.out.println("具有读写权限");break;
case 111:System.out.println("具有读写执行权限");break;
default:System.out.println("请输入范围(1-7)的数");break;
}
}
}

转化二进制后首位0不被保存.所以1的二进制就是1.无法像你那样做.

到此一游