Java练习 SDUT-1171_保留整数

C语言实验——保留整数

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。

Input

输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。

Output

输出处理好的字符串str2。

Sample Input

$Ts!47&*s456 a23* +B9k

Sample Output

*47*456*23*9*

可以定义一个标记,遇到非数字时候如果标记了则说明这段字符串已经转换成‘’,否则转化成‘’,标记。

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int f,i,num;
        String s;
        char a[] = new char[85];
        f = 0;
        num = 0;
        s = cin.nextLine();
        for(i=0;i<s.length();i++)
        {
            if(s.charAt(i)>='0'&&s.charAt(i)<='9')
            {
                a[num++] = s.charAt(i);
                f = 0;
            }
            else
                if(f==0)
                {
                    a[num++] = '*';
                    f = 1;
                }
        }
        for(i=0;i<num;i++)
            System.out.print(a[i]);
        System.out.println();
        cin.close();
    }
}

原文地址:https://www.cnblogs.com/luoxiaoyi/p/9711141.html

时间: 2024-10-12 04:54:12

Java练习 SDUT-1171_保留整数的相关文章

java中double变量保留小数问题

(转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点后面位数过长,四舍五入保留指定位数: 可以用以下代码实现: public class TestDemo { public static void main(String[] args) {     double a=15.32743859;     double b=Math.round(a*100

JAVA float double数据类型保留2位小数点5种方法

/** * Java 两个整数相除保留两位小数,将小数转化为百分数 * java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数. 例如: (float)a/b // 将整数其中一个强制转换为浮点数,再与另一个整数相除 a/(float)b (float)a/(float)b // 将两个整数同时强制转换为浮点数后再相除 */ ///////计算小数点的位数: System.out.println("

java提高篇-----详解java的四舍五入与保留位

四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了.在讲解之间我们先看如下一个经典的案例: public static void main(String[] args) { System.out.println("12.5的四舍五入值:" + Math.round(12.5)); System.out.println("-12.5的四舍五入值:" + Math.round(-12.5)); } Output: 12.5的四舍

小学生算术-java&amp;c-统计俩个整数相加时发生多少次进位

问题描述:计算俩个整数在相加时需要多少次进位,处理多组数据,直到输入俩个0. 1.java import java.util.Scanner; /** * 统计两个数字在相加的时候需要多少次进位,结束标志 输入俩个零 * @author NEU-2015 * */ public class Demo { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a = 0; int b

js只保留整数,向上取整,四舍五入,向下取整等函数

1.丢弃小数部分,保留整数部分parseInt(5/2)2.向上取整,有小数就整数部分加1Math.ceil(5/2)3,四舍五入.Math.round(5/2) 1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法 方法 描述 abs(x) 返回数的绝对值 acos(x) 返回数的反余弦值 asin(x) 返回

java实现字符串转化为整数

1.思路及注意事项 参考:http://blog.sina.com.cn/s/blog_514c89a90100d7qh.html 概括起来有几种情况 1)字符串开头是"+"号或"-"号的处理 2)非法字符的判断(不是数字) 3)整数溢出问题. 看看Java函数库中的Integer.parseInt(String sting)的源码如何处理这些问题的. /** * Parses the specified string as a signed decimal int

Java练习 SDUT - 2669_2-2 Time类的定义

2-2 Time类的定义 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 通过本题目的练习可以掌握类与对象的定义: 设计一个时间类Time,私有数据成员有hour(时).minute(分).second(秒): 公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12:setMinue(int)设置数据成员minute的值,非法输入默认为0:setSecond(int)

Java千问:Java语言中最大的整数再加1等于多少?

已知Java语言中int类型所能表示的最大整数为2147483647,请问以下代码执行结果是什么?一部分人都会认为这段程序压根就无法通过编译,也有人认为,这段程序能够通过编译,但在运行时会抛出异常,但更多的人面对这道题目根本就无从下手.那么正确答案是什么呢?首先告诉大家,这段程序能够顺利通过编译,并且在运行时也不会出现异常,运行的结果是在控制台上输出了数字-2147483648!而-2147483648正好是Java语言中int类型所能表示的最小整数.这个运行结果可能会让很多人感到大跌眼镜,运行

java例题_32 取一个整数a从右端开始的4~7位

1 /*32 [程序 32 左移右移] 2 题目:取一个整数 a 从右端开始的 4-7 位. 3 */ 4 5 /*分析 6 * 从右端开始的第四位相当于原数除以1000后结果的最后一位数, 7 * 而4~7位就相当于再除以1000的结果下再对10000取余! 8 * 可以int也可以long类型 9 * */ 10 11 package homework; 12 13 import java.util.Scanner; 14 15 public class _32 { 16 17 public