java編寫演算法
是指一個類調用另一個類的么?
如果是這樣的話。。
//創建一個類
public class Text1{
public static void mian(String []agrs){
//實例化另一個類
Text2 t = new Text2();
t.show();
}
}
創建第二個類
public class Text2(){
//創建一個show方法
public void show(){
System.out.println("我已經被調用了");
}
}
這就是類之間的調用。。
如果是想在方法里調用另一個類的方法
具體的也是和main()方法里的一樣調用。(模仿main()方法)
❷ Java新手提問,如何編寫演算法和思路如何想的
第一題:
import java.math.* ;
import java.util.* ;
class TieZi{
private String name ;
private int num ;
public TieZi(String name,int num){
this.setName(name) ;
this.setNum(num) ;
}
public void setName(String name){
this.name = name ;
}
public String getName(){
return this.name ;
}
public void setNum(int num){
this.num = num ;
}
public int getNum(){
return this.num ;
}
}
public class TestOne{
private TieZi[] tz ;
public TestOne(int max){
this.tz = new TieZi[max] ;
for (int i = 0; i<max; i++){
this.tz[i] = new TieZi("跟貼_" + (i+1),this.getRandomNum()) ;
System.out.println (tz[i].getNum()) ;
}
this.getTop10(this.tz) ;
}
public int getRandomNum(){//產生100個0-99的隨機數
return ((int)(Math.random()*100)) ;
}
public void getTop10(TieZi[] tz){//進行冒泡排序並且輸出
TieZi temp2 = null ;
int num[] = new int[10] ;
for (int j = 0; j<tz.length; j++){
for (int i = 0; i<tz.length; i++){
if(tz[j].getNum() > tz[i].getNum()){
temp2 = tz[j] ;
tz[j] = tz[i] ;
tz[i] = temp2 ;
}
}
}
for (int i = 0; i<10; i++){
System.out.println ("貼子名: " + tz[i].getName() + "\t跟貼數: " + tz[i].getNum()) ;
}
}
public static void main(String[] args){
new TestOne(100) ;
}
}
第二題:
import java.math.* ;
import java.util.* ;
class User{
private String name ;
private double mark ;
public User(String name,double mark){
this.setName(name) ;
this.setMark(mark) ;
}
public void setName(String name){
this.name = name ;
}
public String getName(){
return this.name ;
}
public void setMark(double mark){
this.mark = mark ;
}
public double getMark(){
return this.mark ;
}
}
public class TestTwo{
private User[] tz ;
public TestTwo(int max){
this.tz = new User[max] ;
for (int i = 0; i<max; i++){
this.tz[i] = new User("用戶名_" + (i+1),this.getRandomNum()) ;
System.out.println (tz[i].getMark()) ;
}
this.getTop10(this.tz) ;
}
public int getRandomNum(){//產生100個0-499的隨機數
return ((int)(Math.random()*500)) ;
}
public void getTop10(User[] tz){//進行冒泡排序並且輸出
User temp2 = null ;
int num[] = new int[3] ;
double jiangLi = 1.2 ;
for (int j = 0; j<tz.length; j++){
for (int i = 0; i<tz.length; i++){
if(tz[j].getMark() > tz[i].getMark()){
temp2 = tz[j] ;
tz[j] = tz[i] ;
tz[i] = temp2 ;
}
}
}
for (int i = 0; i<3; i++){
if(i == 1)
jiangLi = 1.15 ;
if(i == 2)
jiangLi = 1.1 ;
System.out.println ("用戶名: " + tz[i].getName() + "\t分數: " + tz[i].getMark()*jiangLi) ;
}
}
public static void main(String[] args){
new TestTwo(100) ;
}
樓主看看吧。用的都是基礎知識。選我啊
❸ java演算法分別用遞歸和遞推方法編寫
//遞歸
private static double wages1(int n)
{
if (n <= 0)
{
return 0;
}
else if (n == 1)
{
return 1500*12;
}
else
{
return wages1(n-1) * 1.1;
}
}
//遞推
private static double wages2(int n)
{
if (n <= 0)
{
return 0;
}
double wages = 1500 * 12;
for (int i = 1; i < n ; i++)
{
wages *= 1.1;
}
return wages;
}
❹ 用java寫演算法
public class TextFilef{
public static String[] Analyze(String stringNumbers){
String numbers[]=new String[10];
int begin=0;
int end=0;
int count=0;
stringNumbers=stringNumbers.trim();
do{
end=stringNumbers.indexOf(' ');//第一個空格的位置
numbers[count++]=stringNumbers.substring(begin,end).trim();
//取得begin,end之間的子串
stringNumbers=stringNumbers.substring(end).trim();//去掉已經存到數組中的那些字元
}while(!stringNumbers.equals("")||stringNumbers.indexOf(' ')!=-1);//循環直到字元串中沒有空格,或者字元串已經掃描完了,才會結束
return numbers;
}
}
樓主可以做一個測試程序冊以下,我已經測試通過了。
❺ JAVA編寫演算法求值
湊合看吧。。。
classCollector{
privateSampletempSample;
privatetemp;
privateSamplegetSample(){
Samples=newSample();
//TODO獲取時間和value
returns
}
privateIntegergetTemp(Samplea,Sampleb){
Integeri=null;
//TODO自己實現你那個對比時間獲得temp的方法
returni;
}
privatevoidcollect(){
while(1){
Samples=getSample();
if(tempSample==null){
tempSample=s;
continue;
}
temp=getTemp(tempSample,s);
tempSample=s;
//TODO休眠隨機時間
//Thead.sleep();
}
}
publicstaticvoidmain(String[]args){
Collectorc=newCollector();
Collector.
}
}
classSample{
privateDatetime;
privateIntegervalue;
//setter&getter
...
}
❻ java 演算法設計基礎 編程
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
// 生成隨機數
int k[] = new int[10];
for(int i=0;i<10;i++){
int x=(int)(Math.random()*100);
k[i] = x;
System.out.print(k[i]+" ");
}
System.out.println();
//
Arrays.sort(k);
for(int i=0;i<10;i++)
System.out.print(k[i]+" ");
System.out.println();
//冒泡排序法
for (int i = 0; i < k.length; i++) {
for (int l = 0; l < k.length; l++) {
int temp;
if (k[i] < k[l]) {
temp = k[l];
k[l] = k[i];
k[i] = temp;
}
}
}
for (int i = 0; i < k.length; i++) {
System.out.print(k[i] + " ");
}
}
}
❼ java演算法有哪些分別
您好:
java中的演算法,常見的有:遞歸、迭代、查找、排序(包含冒泡排序、選擇排序、插入排序、快速排序四種) 等,演算法有很多,一般數據結構中涉及到的都可以用java語言實現。
舉幾個例子:
1.遞歸的例子:
不一一舉例,僅供參考!
❽ java演算法編程
System.out.println("加油,你行的");
❾ JAVA 實現演算法
編碼是不能用字元串的,大大大降低速度
public class Test{
static public int getIntegerComplement(int n){
return ~n&((1<<(32-Integer.numberOfLeadingZeros(n)))-1);
}
public static void main(String[] args){
int a[]={1,5,50,256,65536};
for(int i:a){
int r=getIntegerComplement(i);
System.out.println(i+" "+Integer.toBinaryString(i)+
" => "+r+" "+Integer.toBinaryString(r));
}
}
}
========
1 1 => 0 0
5 101 => 2 10
50 110010 => 13 1101
256 100000000 => 255 11111111
65536 10000000000000000 => 65535 1111111111111111
❿ 用JAVA編寫一個簡單的 查詢演算法!謝謝大哥大姐了
import java.io.*;
public class Test
{
/**
* @param args
*/
public static void main(String[] args) throws IOException
{
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
System.out.println("請輸入要查詢的單詞");
String s=br.readLine();
int count=0;
int m=0;
int begin=-1;
int end=-1;
while(true)
{
if(s.length()==1)
{
begin=str.indexOf(s);
if(m==0)
{
System.out.println("第一次出現在"+begin+"位元組處");
}
m++;
end=begin;
}
else
{
begin=str.indexOf(s.substring(0,1));
if(m==0)
{
System.out.println("第一次出現在"+begin+"位元組處");
}
end=str.indexOf(s.substring(s.length()-1));
}
if(begin==-1||end==-1)
{
break;
}
if(s.equals(str.subSequence(begin, end+1)))
{
count++;
str=str.substring(end+1);
}
else
{
str=str.substring(end+1);
}
}
System.out.println("單詞"+s+"出現了"+count+"次");
}
}