Java求助,我该怎么通过我这个思路答对这道题?
查看原帖
Java求助,我该怎么通过我这个思路答对这道题?
940222
yuehan666楼主2023/2/22 22:25

这个代码我知道写的很烂...但是我想知道通过这个思路来解决这道题。

代码:

public class Main{
	static int n;
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuffer sb = new StringBuffer(br.readLine().trim());
		int c = sb.length();
		if (fuhao(sb) == 1) {
			String s1 = sb.substring(0, n);
			String s2 = sb.substring(n + 1, c);
			StringBuffer sb1 = new StringBuffer(s1);
			StringBuffer sb2 = new StringBuffer(s2);
			sb1 = r(sb1);
			sb2 = r(sb2);
			sb.insert(0, sb1);
			System.out.print(Integer.parseInt(sb1.toString()));
			System.out.print('.');
			sb.insert(0, sb2);
			System.out.print(Integer.parseInt(sb2.toString()));
			return;
		}
		if (fuhao(sb) == 2) {
			String s1 = sb.substring(0, n);
			StringBuffer sb1 = new StringBuffer(s1);
			sb1 = r(sb1);
			sb.insert(0, sb1);
			System.out.print(Integer.parseInt(sb1.toString()));
			System.out.print('%');
			return;
		}
		if (fuhao(sb) == 3) {
			String s1 = sb.substring(0, n);
			String s2 = sb.substring(n + 1, c);
			StringBuffer sb1 = new StringBuffer(s1);
			StringBuffer sb2 = new StringBuffer(s2);
			sb1 = r(sb1);
			sb2 = r(sb2);
			sb.insert(0, sb1);
			System.out.print(Integer.parseInt(sb1.toString()));
			System.out.print('/');
			sb.insert(0, sb2);
			System.out.print(Integer.parseInt(sb2.toString()));
			return;
		}
		if (fuhao(sb) == 0) {
			if (sb.charAt(0) == '-') {
				sb.delete(0, 1);
				sb.reverse();
				sb.insert(0, '-');
			} else {
				sb.reverse();
			}
			System.out.print(Integer.parseInt(sb.toString()));
			return;
		}
	}

	public static StringBuffer r(StringBuffer sb) {
		return sb.reverse();
	}

	public static int fuhao(StringBuffer sb) {
		int c = sb.length();
		for (int i = 0; i < c; i++) {
			if (sb.charAt(i) == '.') {
				n = i;
				return 1;
			}
			if (sb.charAt(i) == '%') {
				n = i;
				return 2;
			}
			if (sb.charAt(i) == '/') {
				n = i;
				return 3;
			}
		}
		return 0;
	}
}
2023/2/22 22:25
加载中...