2016-04-14 9 views
0

Şu an üzerinde çalıştığım bu projeyle ilgili yardıma ihtiyacım var ve birinin girişi değerli olacak. Hiç programlama deneyimim yok. Zaten biriken bir parametre oluşturdum ve tahmin ettiğim Şartlar'ın içinden geçtim ama daha fazla ilerleyemiyorum.Dizilim listesinde kalan alfabetik ilk terimini nasıl bulabilirim?

Formül makeMolecular
Eğer molekül formülü için bir biriktirme parametre oluşturmak için gereken , eski formülde şartları ile döngü, her tekrarında kalan alfabetik birinci Terim, moleküler formüle eklemek bulmak ve aynı elemente sahiplerse, formülü formülüyle birleştirin. Kullandığınız yordam, Seçim Sıralaması olarak bilinir. Her bir elementin moleküler formülde sadece bir kez görünmesi gerektiğini unutmayın, ancak ilk önce elementlerin alfabetik sırada olduğu bir moleküler formül üreten bir sürüm oluşturmanıza yardımcı olabilir. Hiçbir birlikte, sen bütün atomlar kullanılan bir formül çıkarmak istediğim o kadar

public Formula(String s) 

{ 
    terms = new ArrayList<>(); 
    String termstart = s; 

    for (int i = s.length()-1; i>=0; i--) 
    { 
     if((Character.isUpperCase(s.charAt(i)))) //if character is uppercase at i, starts at i 
     { 
      terms.add(0, new Term(termstart.substring(i))); 
      termstart = s.substring(0, i); 

    } 
} 
} 
+0

Eğer giriş ve beklenen çıkışı gösterebilir: Eğer Dizi/Listesine/dönüştürmek için gerekirse

, çizgisinde bir şey kullanın? – Whitefret

+1

Sence (r == r) '' true' dışındaki herhangi bir şeye asla yorum yapmalı mıyım? – dasblinkenlight

+0

Evet, çünkü sadece bir elementin diğeriyle aynı olduğunu söylüyorum, ikisini karşılaştırmıyorum, bunu nasıl yapacağım? @dasblinkenlight – SB998

cevap

0

: Eğer gerekiyorsa bu yapıcı olduğunu

public void makeMolecular() 

{ 
    ArrayList<Term> terms2 = new ArrayList<Term>(); 
    ArrayList<Term> terms3 = new ArrayList<Term>(); 

    for (Term s : terms) 
    { 
     Term r=nextElement(); 

     if (r == r) 
     { 

      terms3.add(r); 
      terms2.remove(r); 
     } 

    } 
} 

:

Bu

benim kodudur tekrarlayın, ardından bunları sırayla alfabetik olarak sıralamak için kullanın.bunlar sizi doğru yöne yönlendirmelidir.

public static List<Character> stringToList(String text) { 
    final List<Character> theList = new ArrayList<Character>(); 

    for (int i=0, imax=text.length(); i<imax; i++) 
     theList.add(text.charAt(i)); 

    return theList; 
} 

public static String listToString(List<Character> x) { 
    String theString = ""; 

    for (Character c : x) 
     theString += c; 

    return theString; 
}