日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

题库练习7(最小公倍数、求立方根、字符串逆序、记负均正、字符串分割)

發(fā)布時(shí)間:2024/10/14 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 题库练习7(最小公倍数、求立方根、字符串逆序、记负均正、字符串分割) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 求最小公倍數(shù)

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();int b=sc.nextInt();System.out.println(getMin(a,b));}public static int getMin(int a,int b){int max=a>b?a:b;int min=max==a?b:a;while(max%min!=0){int temp=max%min;max=min;min=temp;}return a*b/min;} }

2. 求立方根

計(jì)算一個(gè)數(shù)字的立方根,不使用庫(kù)函數(shù)

詳細(xì)描述:

  • 接口說(shuō)明
    • 原型:
    • public?static?double?getCubeRoot(double?input)
    • 輸入:double?待求解參數(shù)
    • 返回值:double??輸入?yún)?shù)的立方根,保留一位小數(shù)

2.1 分析

Java中求立方根需要了解牛頓迭代法。

牛頓迭代法。設(shè), 求f(x)=0時(shí)的解x,即為y的立方根。

根據(jù)牛頓迭代思想,即。

import java.util.*; import java.text.DecimalFormat;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);double d=sc.nextDouble();DecimalFormat df = new DecimalFormat(".0");System.out.println(df.format(getCubeRoot(d)));}public static double getCubeRoot(double input){double a=input;double b=(2*a+input/a/a)/3;while(Math.abs(b-a)>0.000001){a=b;b=(2*a+input/a/a)/3;}return b;} }

注:

1. 輸出格式的設(shè)置(保留兩位小數(shù))

public class Test {public static void main(String[] args) {double d = 756.2345566;//方法一:最簡(jiǎn)便的方法,調(diào)用DecimalFormat類(lèi)DecimalFormat df = new DecimalFormat(".00");System.out.println(df.format(d));//方法二:直接通過(guò)String類(lèi)的format函數(shù)實(shí)現(xiàn)System.out.println(String.format("%.2f", d));//方法三:通過(guò)BigDecimal類(lèi)實(shí)現(xiàn)BigDecimal bg = new BigDecimal(d);double d3 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println(d3);//方法四:通過(guò)NumberFormat類(lèi)實(shí)現(xiàn)NumberFormat nf = NumberFormat.getNumberInstance();nf.setMaximumFractionDigits(2);System.out.println(nf.format(d));} }

3. 字符串逆序

將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),并輸出。str的長(zhǎng)度不超過(guò)100個(gè)字符。?如:輸入“I?am?a?student”,輸出“tneduts?a?ma?I”。

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine();System.out.println(reverse(str));}public static String reverse(String str){Stack<Character> stack=new Stack<>();char[] chs=str.toCharArray();for(int i=0;i<chs.length;i++)stack.push(chs[i]);String result="";while(!stack.isEmpty())result+=stack.pop();return result;} }

4. 記負(fù)均正

從輸入任意個(gè)整型數(shù),統(tǒng)計(jì)其中的負(fù)數(shù)個(gè)數(shù)并求所有非負(fù)數(shù)的平均值

import java.util.*; import java.text.DecimalFormat;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);ArrayList<Integer> list=new ArrayList<>();while(sc.hasNext()){list.add(sc.nextInt());}getResult(list);}public static void getResult(ArrayList<Integer> list){if(list==null){System.out.println(0);System.out.println(0);return;}int count=0;double sum=0.0;for(int i=0;i<list.size();i++){if(list.get(i)<0)count++;elsesum+=list.get(i);}System.out.println(count);if(count==list.size())System.out.println(0.0);else{sum/=(list.size()-count);DecimalFormat df = new DecimalFormat(".0");System.out.println(df.format(sum));}return;} }

5. 字符串分割

連續(xù)輸入字符串(輸出次數(shù)為N,字符串長(zhǎng)度小于100),請(qǐng)按長(zhǎng)度為8拆分每個(gè)字符串后輸出到新的字符串?dāng)?shù)組,

長(zhǎng)度不是8整數(shù)倍的字符串請(qǐng)?jiān)诤竺嫜a(bǔ)數(shù)字0,空字符串不處理。

輸入描述:首先輸入數(shù)字n,表示要輸入多少個(gè)字符串。連續(xù)輸入字符串(輸出次數(shù)為N,字符串長(zhǎng)度小于100)

輸出描述:按長(zhǎng)度為8拆分每個(gè)字符串后輸出到新的字符串?dāng)?shù)組,長(zhǎng)度不是8整數(shù)倍的字符串請(qǐng)?jiān)诤竺嫜a(bǔ)數(shù)字0,空字符串不處理。

import java.util.Scanner; import java.util.ArrayList;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);while(sc.hasNext()){int n=sc.nextInt();sc.nextLine();ArrayList<String> list=new ArrayList<>();int i=0;while(i<n){list.add(sc.nextLine());i++;}list=getResult(list);for(int j=0;j<list.size();j++)System.out.println(list.get(j));}}public static ArrayList<String> getResult(ArrayList<String> list){if(list==null)return null;ArrayList<String> res=new ArrayList<>();for(int i=0;i<list.size();i++){String str=list.get(i);while(str.length()>=8){res.add(str.substring(0,8));str=str.substring(8);}if(str.length()<8&&str.length()>0){str+="00000000";res.add(str.substring(0,8));}}return res;} } ?

?

總結(jié)

以上是生活随笔為你收集整理的题库练习7(最小公倍数、求立方根、字符串逆序、记负均正、字符串分割)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。