As I understand, if $0\rightarrow A\rightarrow X\rightarrow B\rightarrow 0$ is a short exact sequence of abelian groups, $\mbox{Ext }\_{\mathbb{Z}}^{1}(B,A)$ gives all the isomorphism classes of what can come in as $X$. But when I consider $0\rightarrow \mathbb{Z}\rightarrow X\rightarrow \mathbb{Z}/(3)\rightarrow 0 $,$\ \ \ $ $\mbox{Ext } \_{\mathbb{Z}}(\mathbb{Z}/(3),\mathbb{Z})=\mathbb{Z}/(3)\ \ $ but all I can think of for $X$ are only two, $\mathbb{Z}$ and $\mathbb{Z}\oplus\mathbb{Z}/(3)$. Am I missing something or am I not understanding the result of extension problem correctly?



Extension problem
$\mathrm{Ext} = \mathrm{Ext}^1$ does not classify the middle terms up to isomorphism. It classifies the short exact sequences up to equivalence, where the equivalence relation is generated by commutative diagrams having equalities on each end. It's possible for two inequivalent short exact sequences to have isomorphic middle terms. See Eisenbud's book, Exercises A3.26, A3.27, and especially A3.29 for more. 


As for your particular example, consider the pullback of the exact sequence $0 \to \mathbb{Z} \rightarrow \mathbb{Z} \to \mathbb{Z}/(3) \to 0$ by the map given by multiplication by 2 on $\mathbb{Z}/(3)$. The middle term is isomorphic to $\mathbb{Z}$, but the short exact sequence is not equivalent to the original. 


