永发信息网

这段java程序哪里有问题?

答案:1  悬赏:30  手机版
解决时间 2021-04-23 15:28

我想用这个程序实现输入unix中的rwxrwxrwx权限自动转换为数字权限777

或者输入数字权限自动转换为rwx这种权限,但是功能不行,高手帮忙看看哪里出问题了?

package test;


import java.util.Scanner;

public class QuanXian {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
System.out.println("请输入权限:");
String s = sca.next();
if(s.matches("^[r\\-]{1}[w\\-]{1}[x\\-]{1}[r\\-]{1}[w\\-]{1}[x\\-]{1}[r\\-]{1}[w\\-]{1}[x\\-]{1}$")){
String ss = s.substring(0,3);
String rr = s.substring(3,6);
String tt = s.substring(6,9);
int num = 0;
if("r".equals(ss.substring(0,1))){
num = num + 4;
}
if("w".equals(ss.substring(1,2))){
num = num + 2;
}
if("x".equals(ss.substring(2,3))){
num = num + 1;

int num1 = 0;
if("r".equals(tt.substring(0,1))){
num1 = num1 + 4;
}
if("w".equals(tt.substring(1,2))){
num1 = num1 + 2;
}
if("x".equals(tt.substring(2,3))){
num1 = num1 + 1;
}
int num2 = 0;
if("r".equals(rr.substring(0,1))){
num2 = num2 + 4;
}
if("w".equals(rr.substring(1,2))){
num2 = num2 + 2;
}
if("x".equals(rr.substring(2,3))){
num2 = num2 + 1;
}
System.out.println(num+""+num1+""+num2);

}else if(s.matches("^[0-7]{1}[0-7]{1}[0-7]{1}$")){
String q = "";
if("0".equals(s.substring(0,1))){
q =q+"---";
}else if("1".equals(s.substring(0,1))){
q = q+"--x";
}else if("2".equals(s.substring(0,1))){
q = q+"-w-";
}else if("3".equals(s.substring(0,1))){
q = q+"-wx";
}else if("4".equals(s.substring(0,1))){
q = q+"r--";
}else if("5".equals(s.substring(0,1))){
q = q+"r-x";
}else if("6".equals(s.substring(0,1))){
q = q+"rw-";
}else if("7".equals(s.substring(0,1))){
q = q+"rwx";
}

String q1 = "";
if("0".equals(s.substring(1,2))){
q1 =q1+"---";
}else if("1".equals(s.substring(1,2))){
q1 = q1+"--x";
}else if("2".equals(s.substring(1,2))){
q1 = q1+"-w-";
}else if("3".equals(s.substring(1,2))){
q1 = q1+"-wx";
}else if("4".equals(s.substring(1,2))){
q1 = q1+"r--";
}else if("5".equals(s.substring(1,2))){
q1 = q1+"r-x";
}else if("6".equals(s.substring(1,2))){
q1 = q1+"rw-";
}else if("7".equals(s.substring(1,2))){
q1 = q1+"rwx";
}

String q2 = "";
if("0".equals(s.substring(2,3))){
q2 =q2+"---";
}else if("1".equals(s.substring(2,3))){
q2 = q2+"--x";
}else if("2".equals(s.substring(2,3))){
q2 = q2+"-w-";
}else if("3".equals(s.substring(2,3))){
q2 = q2+"-wx";
}else if("4".equals(s.substring(2,3))){
q2 = q2+"r--";
}else if("5".equals(s.substring(2,3))){
q2 = q2+"r-x";
}else if("6".equals(s.substring(2,3))){
q2 = q2+"rw-";
}else if("7".equals(s.substring(2,3))){
q2 = q2+"rwx";
}
System.out.println(q+q1+q2);

}else{
System.out.println("输入错误!");
return;
}

}

}
}

最佳答案

有个地方你写错了


if("x".equals(ss.substring(2,3))){
num = num + 1;
这个地方少些一个大括号改成


}//=======加上这个大括号 同时在最后面删除掉一个大括号就ok了


你是语法错误

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
盐水鸭的卤水怎么做?
农村农贸市场做什么生意最稳定?必好评。
两个黄鹂鸣翠柳,一行白鹭上青天。这两句诗的
匿名翻译成英文是什么,空调的英文是什么
梦幻西游宝宝带鬼魂,打什么书可以吧鬼魂顶掉
dnf装备强化中的一点问题强化不碎
诺基亚什么手机好?(滑盖.不要触摸.音质好的)
超级大玩家怎么刷K币
山东省高唐县农村保险互助会怎么去啊,有知道
测量的目的是什么,施工放线和放样的区别是什
网络红人狼宝背的那款包包是什么牌子的呀?
怎么把本身有的灰的免费QQ图标点亮,手动点亮
芭蕾舞发展于那里?
信用卡上的验证码在哪?
红高粱是不是革命片?
推荐资讯
职业是什么含义
魔兽世界账号怎样绑定手机?
自粘防水卷材怎么用。是不是把卷材买到家把薄
王家美食园在哪里啊,我有事要去这个地方
CS打僵尸怎样进战队
支付宝自己转到天弘基金有什么用
寻找治鼻炎的药
爸爸对孩子爱的的寄语,给二年级孩子写生日祝
宁波哪些地方好玩,宁波哪些地方最好玩,最有
不通过进口代理公司付汇行吗?
为何我用中信信用卡刷卡交“交物管费和契税”
雨后的故事动态图全图
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?