「java中seven」java中的T
今天给各位分享java中seven的知识,其中也会对java中的T进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java中如何对list进行分段操作
- 2、JAVA,敲七 代码
- 3、java,1000内所有含有7的数字的程序
- 4、java实现金额转换,阿拉伯数字的金额转换成中国传统的形式
- 5、java中根据一段字符串,获取其中的字母,有要求;求个具体代码
- 6、打印1-100的 范围数字包含7,或是能被7整除的所有数字(java代码 用for语句 在线等 )
Java中如何对list进行分段操作
import java.util.ArrayList;
import java.util.List;
public class listTest {
public static void main(String[] args) {
ListString list = new ArrayListString();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
list.add("five");
list.add("six");
list.add("seven");
intftest = 3;//每次取的数据
intsize = list.size();
inttemp = size / ftest + 1;
boolean special = size % ftest == 0;
ListString cutList = null;
for(int i = 0; i temp; i++) {
if (i == temp - 1) {
if (special) {
break;
}
cutList = list.subList(ftest * i, size);
}else {
cutList = list.subList(ftest * i, ftest* (i + 1));
}
System.out.println("第" + (i + 1) + "组:" + cutList.toString());
}
}
}
得出的结果为:
第1组:[one, two,three]
第2组:[four, five,six]
第3组:[seven]
如果ftest = 1,得出的结果为:
第1组:[one]
第2组:[two]
第3组:[three]
第4组:[four]
第5组:[five]
第6组:[six]
第7组:[seven]
JAVA,敲七 代码
import java.util.Scanner;
public class TestKnockSeven {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 获取控制台输入的数字
SevenKnock(n);
}
// 找出n以内所有能被7整除或者含有7的数字,并且打印出来
public static void SevenKnock(int n) {
for (int i = 1; i = n; i++) { // 遍历n以内的所有整数
if (i % 7 == 0 || hasSeven(i)) { // 如果能被7整除或者含有7这个数字就打印出来
System.out.println(i);
}
}
}
// 判断数字是否含有7,如果有返回true,否则返回false
public static boolean hasSeven(int i) {
String s = String.valueOf(i);
if (s.contains("7")) {
return true;
}
return false;
}
}
java,1000内所有含有7的数字的程序
完整的Java源程序:
public class Exam06 {
public static void main(String[] args) {
for(int num=7; num1000; num++){
if(hasSeven(num)){
System.out.printf("%03d\n", num);
}
}
}
/**
* 判断整数num是否包含数字“7”,若包含返回true,否则返回false
* @param num 待判断整数
* @return true:包含,false:不包含
*/
public static boolean hasSeven(int num){
while(num 0){
if(num%10 == 7){
return true;
}
num /= 10;
}
return false;
}
}
运行测试:
007
017
027
037
047
057
067
070
071
072
073
074
075
076
077
078
079
087
097
107
117
127
137
147
157
167
170
171
172
173
174
175
176
177
178
179
187
197
207
217
227
237
247
257
267
270
271
272
273
274
275
276
277
278
279
287
297
307
317
327
337
347
357
367
370
371
372
373
374
375
376
377
378
379
387
397
407
417
427
437
447
457
467
470
471
472
473
474
475
476
477
478
479
487
497
507
517
527
537
547
557
567
570
571
572
573
574
575
576
577
578
579
587
597
607
617
627
637
647
657
667
670
671
672
673
674
675
676
677
678
679
687
697
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
807
817
827
837
847
857
867
870
871
872
873
874
875
876
877
878
879
887
897
907
917
927
937
947
957
967
970
971
972
973
974
975
976
977
978
979
987
997
java实现金额转换,阿拉伯数字的金额转换成中国传统的形式
直接通过以下接口类方法实现即可:
import java.math.BigDecimal;
/**
* 金额工具类
*
* @author zn
*
* @Date 2013-2-1
* @Email zn.share@gmail.com
*/
public class MoneyUtil {
private static final int DFT_SCALE = 2;
/** 大写数字 */
private static final String[] NUMBERS = { "零", "壹", "贰", "叁", "肆", "伍",
"陆", "柒", "捌", "玖" };
/** 整数部分的单位 */
private static final String[] IUNIT = { "元", "拾", "佰", "仟", "万", "拾", "佰",
"仟", "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟" };
/** 小数部分的单位 */
private static final String[] DUNIT = { "角", "分", "厘" };
/**
* 得到大写金额。
*/
public static String toChinese(String str) {
str = str.replaceAll(",", "");// 去掉","
String integerStr;// 整数部分数字
String decimalStr;// 小数部分数字
// 初始化:分离整数部分和小数部分
if (str.indexOf(".") 0) {
integerStr = str.substring(0, str.indexOf("."));
decimalStr = str.substring(str.indexOf(".") + 1);
} else if (str.indexOf(".") == 0) {
integerStr = "";
decimalStr = str.substring(1);
} else {
integerStr = str;
decimalStr = "";
}
// integerStr去掉首0,不必去掉decimalStr的尾0(超出部分舍去)
if (!integerStr.equals("")) {
integerStr = Long.toString(Long.parseLong(integerStr));
if (integerStr.equals("0")) {
integerStr = "";
}
}
// overflow超出处理能力,直接返回
if (integerStr.length() IUNIT.length) {
System.out.println(str + ":超出处理能力");
return str;
}
int[] integers = toArray(integerStr);// 整数部分数字
boolean isMust5 = isMust5(integerStr);// 设置万单位
int[] decimals = toArray(decimalStr);// 小数部分数字
return getChineseInteger(integers, isMust5)
+ getChineseDecimal(decimals);
}
/**
* 整数部分和小数部分转换为数组,从高位至低位
*/
private static int[] toArray(String number) {
int[] array = new int[number.length()];
for (int i = 0; i number.length(); i++) {
array[i] = Integer.parseInt(number.substring(i, i + 1));
}
return array;
}
/**
* 得到中文金额的整数部分。
*/
private static String getChineseInteger(int[] integers, boolean isMust5) {
StringBuffer chineseInteger = new StringBuffer("");
int length = integers.length;
for (int i = 0; i length; i++) {
// 0出现在关键位置:1234(万)5678(亿)9012(万)3456(元)
// 特殊情况:10(拾元、壹拾元、壹拾万元、拾万元)
String key = "";
if (integers[i] == 0) {
if ((length - i) == 13)// 万(亿)(必填)
key = IUNIT[4];
else if ((length - i) == 9)// 亿(必填)
key = IUNIT[8];
else if ((length - i) == 5 isMust5)// 万(不必填)
key = IUNIT[4];
else if ((length - i) == 1)// 元(必填)
key = IUNIT[0];
// 0遇非0时补零,不包含最后一位
if ((length - i) 1 integers[i + 1] != 0)
key += NUMBERS[0];
}
chineseInteger.append(integers[i] == 0 ? key
: (NUMBERS[integers[i]] + IUNIT[length - i - 1]));
}
return chineseInteger.toString();
}
/**
* 得到中文金额的小数部分。
*/
private static String getChineseDecimal(int[] decimals) {
StringBuffer chineseDecimal = new StringBuffer("");
for (int i = 0; i decimals.length; i++) {
// 舍去3位小数之后的
if (i == 3)
break;
chineseDecimal.append(decimals[i] == 0 ? ""
: (NUMBERS[decimals[i]] + DUNIT[i]));
}
return chineseDecimal.toString();
}
/**
* 判断第5位数字的单位"万"是否应加。
*/
private static boolean isMust5(String integerStr) {
int length = integerStr.length();
if (length 4) {
String subInteger = "";
if (length 8) { // TODO 12-9-17
// 取得从低位数,第5到第8位的字串
subInteger = integerStr.substring(length - 8, length - 4);
} else {
subInteger = integerStr.substring(0, length - 4);
}
return Integer.parseInt(subInteger) 0;
} else {
return false;
}
}
/**
* BigDecimal 相乘,四舍五入保留0位
*
* @param a
* @param b
* @return a*b
*/
public static BigDecimal mutiply(String a, String b, int roundingMode) {
BigDecimal bd = new BigDecimal(a);
return bd.multiply(new BigDecimal(b)).setScale(DFT_SCALE, roundingMode);
}
/**
* BigDecimal 相除,四舍五入保留两位
*
* @param a
* @param b
* @return a/b
*/
public static BigDecimal div(String a, String b, int roundingMode) {
BigDecimal decimal1 = new BigDecimal(a);
BigDecimal decimal2 = new BigDecimal(b);
return decimal1.divide(decimal2, DFT_SCALE, roundingMode);
}
/**
* BigDecimal 相加,四舍五入保留两位
*
* @param a
* @param b
* @return a+b
*/
public static BigDecimal sum(String a, String b, int roundingMode) {
BigDecimal decimal1 = new BigDecimal(a);
BigDecimal decimal2 = new BigDecimal(b);
// DecimalFormat format = new DecimalFormat("#0.00");
return decimal1.add(decimal2).setScale(DFT_SCALE, roundingMode);
}
/**
* BigDecimal 相减,四舍五入保留两位
*
* @param a
* @param b
* @return a+b
*/
public static BigDecimal sub(String a, String b, int roundingMode) {
BigDecimal decimal1 = new BigDecimal(a);
BigDecimal decimal2 = new BigDecimal(b);
// DecimalFormat format = new DecimalFormat("#0.00");
return decimal1.subtract(decimal2).setScale(DFT_SCALE, roundingMode);
}
/**
* 100.00 为10000
*
* @param a
* @return
*/
public static BigDecimal format(String a, int roundingMode) {
return new BigDecimal(a).multiply(new BigDecimal(100)).setScale(0,
roundingMode);
}
public static void main(String[] args) {
String number = "54452";
System.out.println(number + " " + MoneyUtil.toChinese(number));
number = "30200";
System.out.println(number + " " + MoneyUtil.toChinese(number));
number = "30000.05";
System.out.println(number + " " + MoneyUtil.toChinese(number));
number = "30000.00";
System.out.println(number + " " + MoneyUtil.toChinese(number));
}
}
备注:最后面的main方法是具体的调用。
java中根据一段字符串,获取其中的字母,有要求;求个具体代码
要求1中要去掉所有数字,要求2、3中又要保留数字并进行翻译,所以我两种都写了。具体代码为:
public class Test {
public static void main(String args[]) {
String str = "0as2sw$#3Six";
System.out.println("原字符串:[" + str + "]");
System.out.println("");
//不翻译数字
SetString set1 = new LinkedHashSet();
for (String s : str.split("[^A-Z a-z]")) {
if (s.length() 0) {
set1.add(s);
}
}
System.out.println("不翻译数字的结果:" + set1);
System.out.println("");
/*因为又要去除非字母和数字(以下简称去杂),又要将去杂结果分离成数字和字母,再翻译数字,整个流程挺麻烦的,索性在去杂之前,先将数字翻译成英文,为了使数字翻译后的英文和原字符串的字母分开,在数字左右添加占位符#,这样的话,形如:[a1b2c3]就会被处理为:[a#one#b#two#c#three#],这样去杂后,就会被分割为:[a,one,b,two,c,three]了。这里定义了枚举值English,用于实现0-9的英文映射,[10]不好映射成[ten],现在只能映射为[one,zero],如果按照题干非要映射为ten的话你再考虑考虑吧*/
for (English english : English.values()) {
str = str.replaceAll(english.getNum() + "", "#" + english.name() + "#");
}
System.out.println("将数字替换为“占位符 + 英文 + 占位符”的中间结果:[" + str + "]");
System.out.println("");
//翻译数字的结果
SetString set2 = new LinkedHashSet();
for (String s : str.split("[^A-Za-z]")) {
if (s.length() 0 ) {
//判断当前字符串是否是数字的英文,如果不是,就把它拆成单字母
if (mappingEnglish(s)){
set2.add(s);
}else {
for (char c : s.toCharArray()) {
set2.add(String.valueOf(c));
}
}
}
}
System.out.println("翻译数字的结果:" + set2);
}
//判断当前字符串是否是数字的英文
private static boolean mappingEnglish(String str) {
for (English english : English.values()) {
str = str.toLowerCase();
if (english.name().equals(str)) {
return true;
}
}
return false;
}
enum English {
zero(0),
one(1),
two(2),
three(3),
four(4),
five(5),
six(6),
seven(7),
eight(8),
nine(9);
private int num;
public int getNum() {
return num;
}
English(int num) {
this.num = num;
}
}
}
我怕发出来代码又挤在一起,顺便也截个图:
8-21行
22-50行
51-61行
62-85行完
运行结果:
打印1-100的 范围数字包含7,或是能被7整除的所有数字(java代码 用for语句 在线等 )
参考代码如下:
import java.util.ArrayList;
import java.util.List;
public class Xxxxx {
public static void main(String[] args) {
//用于存放包含7,或是能被7整除的所有数字的集合
ListInteger seven=new ArrayListInteger();
for (int i = 1; i = 100; i++) {
//将数字i转化为字符串
String istr=i+"";
if(i%7==0){
//被7整除(余数为0)
seven.add(i);
}else if(istr.contains("7")){
//包含7
seven.add(i);
}
}
System.out.println("包含7,或是能被7整除的所有数字为:"+seven);
}
}
运行结果如下图:
关于java中seven和java中的T的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-17,除非注明,否则均为
原创文章,转载请注明出处。